如有错误还请指出,感谢!
origin master
其实由两部分组成,可以看作是两样东西origin
和master
。
origin/master
其实只有一部分,可以看做是一样东西。
对三样东西进行分类:
两个分支:
master
:指本地的master分支origin/master
: 指远程仓库的master分支(实际上是远程master分支存在于本地的一份副本,是存在于本地的虚拟分支)
一个远程仓库:
origin
:是远程仓库的默认标识(当然有可能你起的是其他别的什么名字)
常见用法:
首先,从远程仓库origin
获取master
分支
git fetch origin master
则origin
的master
分支将会复制一份分支副本存在你的本地,命名为origin/master
然后你就可以将本地的master
分支与远程分支副本的origin/master
进行合并
# 本地切换到master分支
git swtich master # 与 git checkout master作用相同
# 合并操作
git merge origin/master
合并完成后,你就可以对远程仓库进行push
操作了
# 将本地的master分支推送到远程仓库origin
git push origin master
更多例子:
类似的,你可以fetch
更多的分支,并且进行合并merge
操作,当然合并的冲突需要自己解决
# 一次性拉取3个分支
git fetch origin [branch1] [branch2] [branch3]
git switch master
# 合并分支1
git merge origin/[branch1]
# 合并分支2
git merge origin/[branch2]
# 合并分支3
git merge origin/[branch3]
参考:https://stackoverflow.com/questions/18137175/in-git-what-is-the-difference-between-origin-master-vs-origin-master