当我 merge 两个分支并且它们无法自动 merge 时,Github 提供了这些说明:
第 1 步:从您的项目存储库中引入更改并进行测试。
git fetch origin
git checkout -b master origin/master
git merge develop
第 2 步:在 GitHub 上 merge 更改和更新。
git checkout develop
git merge --no-ff master
git push origin develop
但是,在这种情况下,分支 master
已经在本地存在,并且行 git checkout -b master origin/master
返回此消息:
git checkout -b master origin/master
fatal: A branch named 'master' already exists.
在这种情况下,用 git checkout master
替换该行是否正确?我想知道这个问题有一段时间了,有点担心 git checkout master
会做什么,而不是 -b
。
最佳答案
如果master
不存在,那么在这一行之后
git checkout -b master origin/master
master
将是一个分支,指向与 origin/master
相同的提交。
如果你已经有一个master
分支,它可能与origin/master
不合时宜,所以简单地写
git checkout master
还不够。你还想运行
git merge origin/master
之后更新 master
(通常这只是快进)。
关于git checkout -b,分支已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27281741/