安全地重命名远程起源分支

时间:2019-10-02 21:24:40

标签: git git-branch

我的本​​地分支映射到远程分支:

fetch = +refs/heads/release/old_branch:refs/remotes/origin/release/old_branch

我想将本地old_branch和远程new_branch重命名为git branch -m old_branch new_branch # Rename branch locally git push origin :old_branch # Delete the old branch git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote w3docs建议这样做:

old_branch

但是,与我一样,还有其他一些开发人员也在同一个远程.git/config上工作。以上建议在协作环境中安全吗?如果他们的training_event的行与上面的代码相似,那么此序列不会混淆他们的提取引用吗?

2 个答案:

答案 0 :(得分:0)

鉴于您所声明的目标是重命名本地和远程分支-意味着在本地和远程,最后应该有一个new_branch指向先前指向old_branch的位置,并且应该不再有old_branch了-那么您列出的过程就跟任何过程一样好。

这是因为当另一个开发人员获取数据时,他们的存储库将不会“知道” /受到用于到达最终状态的命令的影响。他们只会看到old_branch已经消失,并且有一个名为new_branch的新分支。

现在,此类回购协议不会自动删除其origin/old_branch引用;默认情况下,除非/直到将fetch--prune选项一起使用,否则它们会保留在原来的位置。这也意味着他们可能会重新推送它(而没有意识到您已将其删除)。

换句话说,您不会混淆git,但会可以混淆队友-因此您需要与团队进行沟通,以确保人们知道发生了什么事。

答案 1 :(得分:-1)

我建议创建一个new_branch并通知其他开发人员使用新分支(并删除old_branch)。

如果开发人员继续使用旧分支,则可以将其提交合并到new_branch,直到他切换到new_branch