我想知道如果我在 git 中创建一个与远程分支同名的分支会发生什么。一旦我推送我的分支,第一个分支是否会停止存在于远程存储库中?例如,假设我克隆了以下裸存储库
master A----B---C
\
mybranch D---E
然后我继续从 master 创建一个名为 mybranch 的分支,并生成一些提交。我知道如果我 checkout mybranch,将会创建一个跟踪分支,但是如果我创建一个分支(gitbranch mybranch),那么一旦我决定推送mybranch,会发生什么?我做了几个例子,但我无法弄清楚发生了什么。谢谢。
最佳答案
因此,在您的特定示例中,您将基于提交 C 创建一个提交 F,并让本地分支 mybranch 指向该提交,从而创建以下情况:
mybranch F
/
master A----B---C
\
origin/mybranch D---E
如果您尝试将该分支/提交推送到上游的 mybranch,Git 会拒绝推送,因为这将是 mybranch 的非快进更新>.
您的本地分支恰好与上游分支同名的事实在这里不起作用。上游 Git 不关心也不知道你的本地分支名称(如果有的话;推送的可能是一个无名的分离头)。
关于git - 重用 git 分支名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21193659/