git - 重用 git 分支名称

标签 git branch reusability

我想知道如果我在 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/

相关文章:

git - 非常大的 TFS 存储库——来自子文件夹的 <git tfs branch>

Java 我想我的问题是如何重用一个对象来将 2 条记录添加到我的数据库程序中

Android - 是否可以有硬件交互方法的内容提供者?

git - 是否有导致冲突的其他分支提交的引用?

git - 如何在 git 中使用完整路径?

git - 有没有办法在 GitHub 中指定 merge pull 请求的默认选项?

windows - 如何在git中别名删除 merge 的分支

git - 直接从 .git 中删除头文件是否安全?

git - 如何将 Gerrit 更改移动到不同的分支?

objective-c - 没有 xib 单元的自定义单元,任何其他重用 Storyboard单元的方法。这可能吗?