为了账号安全,请及时绑定邮箱和手机立即绑定

为本地和远程Git存储库重命名master分支

为本地和远程Git存储库重命名master分支

Git
慕妹3242003 2019-08-23 10:55:33
为本地和远程Git存储库重命名master分支我有master跟踪远程分支的分支origin/master。我想将它们重命名为master-old本地和远程。那可能吗?对于跟踪的其他用户origin/master(以及经常更新其本地master分支的用户git pull),重命名远程分支后会发生什么?他们git pull仍然会工作还是会抛出一个它再也找不到的错误origin/master?然后,继续,我想创建一个新的master分支(本地和远程)。再说一遍,在我这样做之后,如果其他用户这样做会发生什么git pull呢?我想这一切都会带来很多麻烦。是否有一种干净的方式来获得我想要的东西?或者我应该保持master原样,并创建一个新的分支,master-new然后继续在那里工作?
查看完整描述

3 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

最接近重命名的是删除然后在遥控器上重新创建。例如:


git branch -m master master-old

git push remote :master         # delete master

git push remote master-old      # create master-old on remote


git checkout -b master some-ref # create a new local master

git push remote master          # create master on remote

然而,这有很多警告。首先,没有现成的检出会了解重命名-蹦也不会尝试跟踪分支重命名。如果新的master还不存在,git pull将会出错。如果master已创建新的。拉动将尝试合并master和master-old。所以这通常是一个坏主意,除非你得到了之前检查过存储库的每个人的合作。


注意:默认情况下,较新版本的git不允许您远程删除主分支。您可以通过将receive.denyDeleteCurrent配置值设置为远程存储库warn或ignore在远程存储库上来覆盖它。否则,如果您已准备好立即创建新主服务器,请跳过该git push remote :master步骤,然后--force转到该git push remote master步骤。请注意,如果您无法更改遥控器的配置,则无法完全删除主分支!


此警告仅适用于当前分支(通常是master分支); 任何其他分支都可以删除并重新创建,如上所述。


查看完整回答
反对 回复 2019-08-23
?
守着一只汪

TA贡献1872条经验 获得超3个赞

假设您目前在master

git push origin master:master-old        # 1
git branch master-old origin/master-old  # 2
git reset --hard $new_master_commit      # 3
git push -f origin                       # 4
  1. 首先根据本地存储库中的提交在存储库中创建一个master-old分支。originmaster

  2. 为这个新origin/master-old分支创建一个新的本地分支(它将自动正确设置为跟踪分支)。

  3. 现在将您的本地指向您master希望它指向的任何提交。

  4. 最后,masterorigin存储库中强制更改以反映您的新本地master

(如果您以任何其他方式执行此操作,则至少需要再执行一个步骤以确保master-old正确设置以跟踪origin/master-old。在撰写本文时,其他任何解决方案都不包括此内容。)


查看完整回答
反对 回复 2019-08-23
?
潇湘沐

TA贡献1816条经验 获得超6个赞

使用Git v1.7,我认为这已经略有改变。现在,更新本地分支对新远程的跟踪引用非常简单。


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


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 1164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信