我即将使用以下答案中提供的建议在本地和远程重命名分支,还有更多类似的建议:
https://stackoverflow.com/a/30590238/419
分支的当前名称为coredev
,分支的新名称将newcoredev
。
这对我来说很好,它有效。但这些示例中的大多数似乎都假设您没有与具有正在进行的开放功能或从他们自己的计算机上coredev
创建的错误修复分支的团队合作。
我是否需要做或担心一些额外的事情,以确保在将coredev
重命名为newcoredev
(带有开放的分支)后不会给我的同事带来痛苦的世界?
我不太确定这是一个重复的,但如果不是,那也不是一个真正的编程问题。 所以,我要在这里添加这个答案,但它至少有点偏离主题。
正如 jingx 在评论中指出的那样,Git根本不关心分支名称。 它只是使用它们来查找提交。 您可以根据需要更改名称的拼写,例如,feature/behavior
可以变得feature/behavior
甚至jean-baptiste-emanuel-zorg
,而这一切都对 Git 本身没有任何影响。
不过,有两个地方确实很重要:
-
每个存储库中的每个分支都可以有一个上游集。 分支的上游只是另一个字符串,但它通常是与存储库中的远程跟踪名称对应的字符串,Git 会根据其他存储库中的分支名称创建或更新该名称。
当远程仓库 Git 删除分支名称
B1
以支持新名称B2
时,您的 Git 将 - 假设远程在这里被称为origin
以具体性 - 在下一次git fetch
创建您的origin/B2
。如果您启用了--prune
(fetch.prune = true
)或明确使用它,您的 Git也会删除您的origin/B1
;如果没有,它不会。 无论哪种方式,您自己的分支的上游设置(假设您已调用分支zorg
并将其上游设置为origin/B1
— 现在在某种程度上是"错误的",因为您应该将其更改为origin/B2
。 -
人类为分支名称赋予意义。
feature/behavior
,无论是美式还是英式拼写,都是中性的;zorg
暗示分支是邪恶的。 如果您赞成(或赞成)邪恶,则可能需要重命名本地分支。
这两项所需的操作过程是相同的:告诉您的同事/协作者/其他人您正在重命名分支。 在此基础上,他们可以采取任何需要采取的行动。