作者:夕夕石(硕爷)
目 录
一、查看
本地分支与远程分支的映射关系
二、建立
本地分支与远程分支的映射关系
三、撤销
本地分支与远程分支的映射关系
四、问题思考:本地分支只能跟踪
远程的同名分支
吗?
一、查看
本地分支与远程分支的映射关系
(1)使用以下命令(注意是双v):
git branch -vv
(2)可以获得如下信息:
[xixishi@xixishideMacBook-Pro:java_fly (master)]$ git branch -vv
[xixishi@xixishideMacBook-Pro:java_fly (master)]$
(3)可以看到分支没有和远程分支建立任何映射,
此时若执行git pull
、 git push
命令则不成功
(因为git此时不知道拉取/推送哪个远程分支和本地分支合并):
(4)如果有对应关系,对应的远程分支名会在中括号里:
[xixishi@shuoDeMBP:java_fly (feature/zs)]$ git branch -vv
* feature/zs 6bef8cc [origin/feature/zs] fix上一个bug
(5)若没有对应关系,就不会有这个中括号:
[xixishi@shuoDeMBP:java_fly (feature/zs)]$ git branch -vv
* feature/zs 6bef8cc fix上一个bug
二、建立
本地分支与远程分支的映射关系
假设有个远程分支叫:addFile
- 建立当前分支与远程分支的映射关系:
// 注意:addFile是远程分支名
// 不需要指定本地分支名,是因为命令默认的本地分支即为当前分支
git branch -u origin/addFile
- 或者使用命令:
git branch --set-upstream-to origin/addFile
建立关联后,再查看当前本地分支与远程分支的映射关系结果如下:
注意,如果报错
fatal: Not a valid object name: 'master'.
原因:在git add ./ 之后没有 commit 提交,master分支中没有内容,所以无法建立新的分支。
解决方法:补充代码git commit -m "first commit"即可(参照上图)
三、撤销
本地分支与远程分支的映射关系
撤销映射关系:
git branch --unset-upstream
使用 git branch -vv
查看关联关系:
[xixishi@xixishideMacBook-Pro:java_fly (master)]$ git branch --unset-upstream
[xixishi@xixishideMacBook-Pro:java_fly (master)]$
[xixishi@xixishideMacBook-Pro:java_fly (master)]$ git branch -vv
* master 2189c95 update
[xixishi@xixishideMacBook-Pro:java_fly (master)]$
四、问题思考:本地分支只能跟踪远程的同名分支吗?
<font color="red" size="5"> 答案是否定的 </font>
(1)刚开始关联关系如下:

(2)可以使 本地分支addFile
和 远程分支editFile
建立映射关系:

(3)并且此时可以把本地分支addFile
提交到远程分支editFile
分支中去:

作者:夕夕石(硕爷)
网友评论