I cloned a Git repository containing galore branches. Nevertheless, git branch
lone exhibits 1:
$ git branch* master
However would I propulsion each the branches regionally truthful once I bash git branch
, it exhibits the pursuing?
$ git branch* master* staging* etc...
TL;DR reply
git branch -r \ | grep -v '\->' \ | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" \ | while read remote; do \ git branch --track "${remote#origin/}" "$remote"; \ donegit fetch --allgit pull --all
(grep -v
matches the inverse of fixed drawstring; sed
removes power sequences: \x1B
matches esc)
(It appears that propulsion fetches each branches from each remotes, however I ever fetch archetypal conscionable to beryllium certain.)
Tally the archetypal bid lone if location are distant branches connected the server that aren't tracked by your section branches.
Absolute reply
You tin fetch each branches from each remotes similar this:
git fetch --all
It's fundamentally a powerfulness decision.
fetch
updates section copies of distant branches truthful this is ever harmless for your section branches However:
fetch
volition not replace section branches (which path distant branches); if you privation to replace your section branches you inactive demand to propulsion all subdivision.fetch
volition not make section branches (which path distant branches), you person to bash this manually. If you privation to database each distant branches:git branch -a
To replace section branches which path distant branches:
git pull --all
Nevertheless, this tin beryllium inactive inadequate. It volition activity lone for your section branches which path distant branches. To path each distant branches execute this oneliner Earlier git pull --all
:
git branch -r | grep -v '\->' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
P.S. AFAIK git fetch --all
and git remote update
are equal.
Kamil Szot's remark, which of us person recovered utile.
I had to usage:
for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
due to the fact that your codification created section branches named
origin/branchname
andI was getting "refname 'root/branchname' is ambiguous at any time when Ireferred to it.
To database distant branches:
git branch -r
To checkout a distant subdivision arsenic a section subdivision:
git checkout -b local_branch_name origin/remote_branch_name
Mistake producing weblog contented
Git MERGE vs REBASE: Everything You Need to Know
Git MERGE vs REBASE: Everything You Need to Know from Youtube.com