git 建分支很 cheap,本地和远程都常常各自拥有大量分支,有时本地分支需要跟某个新的远程分支建立追踪映射,以便于在 pull、 push 等操作时,简化命令,也在一定程度上防止误传到其他分支。今天建立了新的远程分支,本地不想弄一个新的跟它对应,想用当前分支换个关联,用到了该技能。
核心命令
1 | git branch --set-upstream-to=[remote-name/remote-branch-name] |
详解:
完成同样效果的命令还有:
git 1.8 以上
1 | git branch -u [remote-name/remote-branch-name] |
如果比较喜欢比较长的命令写法(我比较喜欢,是不是很变态,哈哈),可以:1
2
3git branch --set-upstream-to=[remote-name/remote-branch-name]
# or 如果要关联的本地分支不是当前分支
git branch --set-upstream-to=[remote-name/remote-branch-name] [local-branch-name]
例如,我有个本地分支 dev,想跟远程 origin 的 v1.1 关联:1
2
3
4
5
6
7
8
9#如果当前就在 dev 分支上:
git branch -u origin/v1.1
#or
git branch --set-upstream-to=origin/v1.1
#如果当前不在 dev 分支上:
git branch -u origin/v1.1 dev
#or
git branch --set-upstream-to=origin/v1.1 dev
git 1.7 以上(已经在2.几版本停用)
1 | git branch --set-upstream dev origin/v1.1 |
如果要在 check 分支的时候进行映射
check 到与远程分支同名的本地分支 v1.11
git checkout --track origin/v1.1 #git 1.6.2 以上
check 到与远程分支不同名的分支 dev21
git checkout -b dev2 origin/v1.1
查看本地分支与远程分支的映射情况
1 | git branch -vv |