首页 > 解决方案 > 重命名一个 git 本地和远程分支后,这个仓库的其他用户应该怎么做?

问题描述

我将使用以下答案中提供的建议以及更多类似的建议在本地和远程重命名分支:

https://stackoverflow.com/a/30590238/419

分支的当前名称是,分支coredev的新名称是newcoredev

这对我来说很好,它有效。但是这些示例中的大多数似乎都假设您不是在与具有在运行中的开放功能或从coredev他们自己的机器上创建的错误修复分支的团队合作。

我是否需要做一些额外的事情或担心以确保在重命名coredevnewcoredev(使用其开放的分支)后不会给我的同事带来痛苦的世界?

标签: git

解决方案


我不太确定这是重复的,但如果不是,那它就不是一个真正的编程问题。所以,我将在这里添加这个答案,但它至少有点离题。

正如jingx 在评论中指出的那样Git根本不关心分支名称。它只是使用它们来查找提交。您可以随意更改名称的拼写,例如feature/behaviorcan becomefeature/behavior或 even jean-baptiste-emanuel-zorg,这对 Git 本身没有任何影响。

不过,有两个地方确实很重要:

  1. 每个存储库中的每个分支都可以有一个上游集。分支的上游只是另一个字符串,但它通常是与您的存储库中的远程跟踪名称相对应的字符串,您的 Git 根据其他存储库中的分支名称创建或更新该字符串。

    当远程存储库 Git 删除分支名称B1以支持新名称B2时,您的originGit 将——让我们假设这里为了具体而调用远程——在你的下一个. 如果您已启用( ) 或显式使用它,您的 Git 也会删除的; 如果没有,它不会。无论哪种方式,您自己分支的上游设置(假设您已经调用了您的分支并将其上游设置为)现在在某种程度上是“错误的”,因为您应该将其更改为.origin/B2git fetch--prunefetch.prune = true origin/B1zorgorigin/B1origin/B2

  2. 人类赋予分支名称以重要性。 feature/behavior,无论是美式还是英式拼写,都是中性的;zorg暗示树枝是邪恶的。如果您支持(或支持)邪恶,您可能想要重命名您的本地分支。

这两个项目所需的操作过程是相同的:告诉您的同事/合作者/其他人您正在重命名分支。他们可以在此基础上采取任何他们需要采取的行动。


推荐阅读