parent
1427fbffef
commit
25fcf0c265
2 changed files with 33 additions and 1 deletions
@ -0,0 +1,22 @@ |
|||||||
|
# Git auto fetch |
||||||
|
|
||||||
|
Automatically fetches all changes from all remotes every time you cd into yout git-initialized project. |
||||||
|
|
||||||
|
####Usage |
||||||
|
Add ```git-auto-fetch``` to the plugins array in your zshrc file: |
||||||
|
```shell |
||||||
|
plugins=(... git-auto-fetch) |
||||||
|
``` |
||||||
|
|
||||||
|
Every time you change directory to your git project all remotes will be fetched in background. Log of ```git fetch --all``` will be saved into .git/FETCH_LOG |
||||||
|
|
||||||
|
####Toggle auto fetch per folder |
||||||
|
If you are using mobile connection or for any other reason you can disable git-auto-fetch for any folder: |
||||||
|
|
||||||
|
```shell |
||||||
|
$ cd to/your/project |
||||||
|
$ git-auto-fetch |
||||||
|
disabled |
||||||
|
$ git-auto-fetch |
||||||
|
enabled |
||||||
|
``` |
||||||
@ -1,5 +1,15 @@ |
|||||||
function git_fetch_on_chpwd { |
function git_fetch_on_chpwd { |
||||||
([[ -d .git ]] && git fetch --all &>! ./.git/FETCH_LOG &) |
([[ -d .git ]] && [[ ! -f ".git/NO_AUTO_FETCH" ]] && git fetch --all &>! .git/FETCH_LOG &) |
||||||
|
} |
||||||
|
|
||||||
|
function git-auto-fetch { |
||||||
|
[[ ! -d .git ]] && return |
||||||
|
if [[ -f ".git/NO_AUTO_FETCH" ]]; then |
||||||
|
rm ".git/NO_AUTO_FETCH" && echo "disabled" |
||||||
|
else |
||||||
|
touch ".git/NO_AUTO_FETCH" && echo "enabled" |
||||||
|
fi |
||||||
} |
} |
||||||
chpwd_functions+=(git_fetch_on_chpwd) |
chpwd_functions+=(git_fetch_on_chpwd) |
||||||
git_fetch_on_chpwd |
git_fetch_on_chpwd |
||||||
|
unset git_fetch_on_chpwd |
||||||
|
|||||||
Loading…
Reference in new issue