Git checkout -b,分支已经存在

时间:2014-12-03 21:13:31

标签: git github

当我合并两个分支并且无法自动合并时,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

1 个答案:

答案 0 :(得分:21)

如果master不存在,则在此行之后

git checkout -b master origin/master

master将是指向与origin/master相同的提交的分支。

如果您已经拥有master分支,则origin/master可能已过期,因此只需撰写

git checkout master

还不够。你也想要运行

git merge origin/master

之后使master更新(通常这只是快进)。