git checkout -b,分支已经存在

标签 git github

当我 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/

相关文章:

github - 如何查看我标记为审阅者的所有拉取请求

Git 如何远程重命名文件夹/包?

javascript - 无法修改和测试 fork 的 GitHub 库 - npm 错误!找不到版本

json - 从 git log 或 git show 解析 Approved-By

svn - 命令行是否有版本控制系统抽象?

Git 在 Samba 共享上的提交速度非常慢。我该怎么做才能加快速度?

git - 当 GitHub 上的 master 分支更新时,刷新 ubuntu 服务器上的存储库。我怎样才能做到这一点?

ruby-on-rails - Rails 中的 Github 身份验证 API

git - 在 git 命令行中禁用进度指示

git - 删除/切断 Git 的修订/提交历史