在Git中使用"git checkout -b"命令时,分支已经存在

29

当我在合并两个分支时,如果它们无法自动合并,Github会提供以下说明:

步骤1:从您的项目存储库中获取更改并进行测试。

git fetch origin
git checkout -b master origin/master
git merge develop

第二步:合并更改并在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有何不同。

1个回答

43
如果 master 不存在,则在此行之后。
git checkout -b master origin/master
< p > master 将成为指向与 origin/master 相同提交的分支。

如果您已经有一个名为 master 的分支,则可能与 origin/master 不一致,因此只需执行以下命令:

git checkout master

这还不够。你还需要运行

git merge origin/master

随后将master更新到最新状态(通常只需进行快进操作)。


1
可以添加 --ff-only快进并退出而不创建合并提交。 - krd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接