有没有办法在本地重命名 Git 分支并将其推送到远程分支,即使已经有许多提交被推送到远程分支?
或者,是否需要创建一个新的本地分支,删除旧的本地分支,然后在远程存储库上重复操作?
特性 move的存在是为了在本地重命名分支
move
git branch --move <old_name> <new_name>
但要推动它,你必须删除旧的,推动新的
git checkout <new_name> git push origin [--set-upstream] <new_name> git push origin --delete <old_name>
--set-upstream是可选的,它配置新的本地分支来跟踪被推动的分支
--set-upstream
本地移动(——移动) :
git branch -m <old_name> <new_name>
推送新分支(—— set-逆流,可选) :
git push origin [-u] <new_name>
删除(——删除) :
git push origin -d <old_name>
感谢 Torek 的评论:
顺便说一句,值得一提的是
第一个原因是这些用户需要进行调整。
第二个原因主要是因为效率: 它避免了将对象重新拷贝到上游回购中,而后者会删除分支提交(大多数裸存储库会这样做,而大多数接受推送的存储库都是裸存储库)