如何重命名Git本地和远程分支名称?

如何重命名Git本地和远程分支名称?,git,repository,rename,git-branch,Git,Repository,Rename,Git Branch,我有四个分支,像大师->起源/王权,费图拉->起源/费图拉。如你所见,我打错了名字 因此,我想重命名一个远程分支名称(origin/regacy)→ 原产地/遗产或原产地/主) 我尝试以下命令: git remote rename regacy legacy 但是Git控制台向我返回了一条错误消息 error : Could not rename config section 'remote.regacy' to 'remote.legacy' 如何解决这个问题? 有几种方法可以实现这一

我有四个分支,像大师->起源/王权,费图拉->起源/费图拉。如你所见,我打错了名字

因此,我想重命名一个远程分支名称(origin/regacy)→ 原产地/遗产或原产地/主)

我尝试以下命令:

git remote rename regacy legacy
但是Git控制台向我返回了一条错误消息

 error : Could not rename config section 'remote.regacy' to 'remote.legacy'
如何解决这个问题?


有几种方法可以实现这一点:

  • 更改您的本地分支,然后推动您的更改
  • 使用新名称将分支推送到远程,同时在本地保留原始名称
  • 重命名本地和远程
    #将本地分支重命名为新名称
    git分支-m
    #删除远程上的旧分支-例如,其中是原点
    git推送--删除
    #或更短的方式删除远程分支[:]
    git推送:
    #防止git在下一步中使用旧名称。
    #否则,git将使用旧的上游名称而不是。
    git分支——未设置上游
    #将新分支推送到远程
    git推送
    #为新的本地分支重置上游分支
    git推送-u
    


    仅重命名远程分支 学分:

    #在此选项中,我们将使用新名称将分支推送到远程
    #同时保持本地名称不变
    git push/:参考/头/:
    

    重要提示: 当您使用
    git分支-m
    (move)时,git也会用新名称更新您的跟踪分支

    git远程重命名旧版

    git remote rename
    正在尝试更新配置文件中的远程部分。它将使用给定名称将远程设备重命名为新名称,但在您的情况下,它没有找到任何名称,因此重命名失败

    但它不会做你想做的事;它将重命名您的本地配置远程名称和远程分支


    注意
    Git服务器可能允许您使用web界面或外部程序(如Sourcetree等)重命名Git分支,但您必须记住,在Git中,所有工作都是在本地完成的,因此建议使用上述命令进行工作。

    似乎有一种直接的方法:

    如果您真的只想远程重命名分支(而不同时重命名任何本地分支),可以使用以下单个命令完成此操作

    git-push/:refs/heads/:


    有关更多详细信息,请参阅原始答案。

    如果您错误地命名了分支并将其推送到远程存储库,请按照以下步骤重命名该分支():

  • 重命名您的本地分支机构:

    git push origin :old_branch    // Delete the remote branch
    
    git push --set-upstream origin new_branch   // Create a new remote branch
    
    • 如果您在要重命名的分支上:
      git分行-m新名称

    • 如果您在另一个分支上:
      git分行-m旧名新名

  • 删除
    旧名称
    远程分支并推送
    新名称
    本地分支


    git推送源:旧名称新名称

  • 为新名称本地分支重置上游分支
    切换到分支,然后:
    git推送原点-u新名称


  • 没有直接的方法,

  • 重命名本地分支机构

    我现在的分支机构是大师

    git分支-m master_重命名
    #master_重命名是master的新名称

  • 删除远程分支,

    git推送原点——删除主控
    #原点是远程_名称

  • 将重命名的分支推入远程,

    git推送原始主机\u重命名


  • 就这样…

    也可以通过以下方式完成

    首先重命名本地分支,然后重命名远程分支

    重命名本地分支:

    如果登录到另一个分支

    git branch -m old_branch new_branch 
    
    如果登录到同一分支

    git branch -m new_branch
    
    重命名远程分支:

    git push origin :old_branch    // Delete the remote branch
    
    git push --set-upstream origin new_branch   // Create a new remote branch
    

    即使不重命名本地分支,也可以通过三个简单步骤完成此操作:

  • 转到GitHub中的存储库
  • 从要重命名的旧分支创建新分支
  • 删除旧的分支

  • 我使用这些git别名,它几乎可以自动完成工作:

    git config --global alias.move '!git checkout master; git branch -m $1 $2; git status; git push --delete origin $1; git status; git push -u origin $2; git branch -a; exit;'
    
    用法:git从_分支移动到_分支

    如果您有默认名称,如master、origin等,那么它就可以工作。
    您可以根据自己的意愿进行修改,但这会让您产生想法。

    我必须执行以下任务来重命名本地和远程分支:

    # Rename the local branch to the new name
    git branch -m <old_name> <new_name>
    
    #  Delete the old remote branch
    git push origin --delete <old_name>
    
    # push to new remote branch - creates new remote branch
    git push origin <new_name>
    
    # set new remote branch as default remote branch for local branch
    git branch --set-upstream-to=origin/<new_name> <new_name>
    
    #将本地分支重命名为新名称
    git分支-m
    #删除旧的远程分支
    git推送源--删除
    #推送到新的远程分支-创建新的远程分支
    git推送原点
    #将新远程分支设置为本地分支的默认远程分支
    git branch--将上游设置为=原点/
    
  • 重命名您的本地分支。 如果您在要重命名的分支上:

    git branch -m new-name
    
    git分支-m新名称

  • 如果您在不同的分支机构:

    git branch -m old-name new-name
    
  • 删除旧名称远程分支并推送新名称本地分支

    git推送源:旧名称新名称

  • 为新名称本地分支重置上游分支。 切换到分支,然后:

    git push origin -u new-name
    
    git推送源-u新名称


  • 一切就绪

    附加一个简单的片段,用于重命名当前分支(本地分支和源分支):

    git分支-m
    git推送源:
    git push——设置上游原点
    
    解释来自git文档:

    git branch-m或-m选项将重命名为 . 如果有相应的reflog,则将其重命名 要匹配,将创建一个reflog条目以记住 分支重命名。如果存在,则必须使用-M强制 重命名以使其发生

    特殊参考规范:(或+:允许非快进
    git push origin :old-name new-name
    
    git push origin -u new-name