Git checkout -b,分支已经存在

oka*_*56k 18 git github

当我合并两个分支并且它们无法自动合并时,Github提供以下指令:

步骤1:从项目存储库中引入更改并进行测试.

git fetch origin
git checkout -b master origin/master
git merge develop
Run Code Online (Sandbox Code Playgroud)

第2步:合并更改并在GitHub上更新.

git checkout develop
git merge --no-ff master
git push origin develop
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,分支master已经存在于本地,并且该行git checkout -b master origin/master返回以下消息:

git checkout -b master origin/master
fatal: A branch named 'master' already exists.
Run Code Online (Sandbox Code Playgroud)

在这种情况下,更换该行是正确的做法git checkout master吗?我有点想知道这一点,有点担心git checkout master可能会做什么,而不是-b.

Ism*_*awi 28

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

git checkout -b master origin/master
Run Code Online (Sandbox Code Playgroud)

master将是一个指向同一提交的分支origin/master.

如果你已经有一个master分支,它可能已经过时了origin/master,所以只需写一下

git checkout master
Run Code Online (Sandbox Code Playgroud)

还不够.你也想跑

git merge origin/master
Run Code Online (Sandbox Code Playgroud)

之后master更新(通常这只是一个快进).