我的本地分支映射到远程分支:
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
的行与上面的代码相似,那么此序列不会混淆他们的提取引用吗?
答案 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
。