当我合并两个分支并且无法自动合并时,Github会提供以下说明:
步骤1:从项目存储库中,引入更改并进行测试。
git fetch origin
git checkout -b master origin/master
git merge develop
第2步:合并更改并在GitHub上更新。
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
。
答案 0 :(得分:21)
如果master
不存在,则在此行之后
git checkout -b master origin/master
master
将是指向与origin/master
相同的提交的分支。
如果您已经拥有master
分支,则origin/master
可能已过期,因此只需撰写
git checkout master
还不够。你也想要运行
git merge origin/master
之后使master
更新(通常这只是快进)。