![](https://img.haomeiwen.com/i76372/b44b1118af50f375.png)
1. clone 时
git clone xxx.git
自动创建一个跟踪 origin/master 的 master 分支。若 clone 的时候想跟踪别的分支:
git clone -b yyy xxx.git
![](https://img.haomeiwen.com/i76372/e583b3caca5306b9.png)
若分支远程不存在,则会报错:
![](https://img.haomeiwen.com/i76372/9eef9257fb945295.png)
2.创建新分支时
直接创建一个本地分支跟踪远程分支:
git checkout -b xxx origin/xxx
设置不同的分支名:
git checkout -b yyy origin/xxx
https://www.freecodecamp.org/news/git-checkout-remote-branch-tutorial/
由于此命令太常用,所以有个快捷方式:
git checkout --track origin/xxx
则会自动创建一个本地 xxx 分支跟踪 origin/xxx,还有更进的捷径:比如你本地检出了一个本地不存在的分支 test 且远程刚好有一个与之对应的远程分支 origin/test,则会自动创建关联。
git checkout test
![](https://img.haomeiwen.com/i76372/b4b495d18c6fb210.png)
这里有一个前提是使用 git fetch 来同步远程仓库有的数据而本地没有的,不然则会出现下面的错误:
![](https://img.haomeiwen.com/i76372/7431ead940984577.png)
使用 fetch 更新:
![](https://img.haomeiwen.com/i76372/6bdffce37ddb452e.png)
本地已经切出一个新分支,推送到远程:
![](https://img.haomeiwen.com/i76372/0ab43bfbc80d4e77.png)
3. 设置已有分支时
查看分支跟踪情况:
git branch -vv
![](https://img.haomeiwen.com/i76372/fd8c3349f77e922b.png)
现在把 feature 的上游分支改为 test:
git branch -u origin/test//orgit branch --set-upstream-to origin/test
![](https://img.haomeiwen.com/i76372/8bce9fabd15fc304.png)
git branch -vv 再次查看下:
![](https://img.haomeiwen.com/i76372/70a0109601dacba5.png)
网友评论