在多臺(tái)電腦使用git管理開(kāi)發(fā)分支的時(shí)候启上,會(huì)出現(xiàn)這樣的情況就漾。電腦A創(chuàng)建了分支1,并且push上了遠(yuǎn)程倉(cāng)庫(kù)痕慢。
電腦B本地clone倉(cāng)庫(kù)默認(rèn)只會(huì)clone下master分支尚揣,而其他電腦A推送的分支是不會(huì)默認(rèn)同步下來(lái)的。
那么如何同步呢守屉?
查看電腦B本地倉(cāng)庫(kù)的分支
git branch
首先惑艇,先來(lái)看看上面描述的情況,電腦B查看本地的所有分支拇泛,如下:
$ git branch
* master
可以看到clone下來(lái)的遠(yuǎn)程倉(cāng)庫(kù)并不會(huì)將所有分支都clone下來(lái)滨巴。
查看本地和遠(yuǎn)程倉(cāng)庫(kù)的所有分支
git branch -a
上面看了本地倉(cāng)庫(kù)只有master分支,那么怎么查看本地和遠(yuǎn)程倉(cāng)庫(kù)的所有分支呢俺叭?如下:
從這里已經(jīng)可以知道遠(yuǎn)程有哪些分支可以提供本地去同步了恭取。那么如果單獨(dú)查看遠(yuǎn)程的分支呢?
查看遠(yuǎn)程倉(cāng)庫(kù)的分支
git branch -r
單獨(dú)直接查看遠(yuǎn)程倉(cāng)庫(kù)的所有分支如下:
其實(shí)用起來(lái)還沒(méi)有直接 git branch -a
查看所有來(lái)得清晰熄守。下一步看看如何同步遠(yuǎn)程分支蜈垮。
同步遠(yuǎn)程分支
-
git fetch
將本地分支與遠(yuǎn)程保持同步 -
git checkout -b 本地分支名x origin/遠(yuǎn)程分支名x
拉取遠(yuǎn)程分支并同時(shí)創(chuàng)建對(duì)應(yīng)的本地分支
首先同步所有遠(yuǎn)程分支耗跛,如下:
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
將本地所有分支與遠(yuǎn)程保持同步 git fetch --all
最后拉取所有分支代碼 git pull --all