我如何重命名尚未被推到远程仓库的本地分支 ?

相关:


当前回答

这里有三个步骤:命令, 您可以在终端内调用, 更改分支名称 。

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

如果需要更多的话:一步一步,如何更改 Git 分支名称这是一篇关于这个的好文章。

其他回答

试图具体回答问题(至少是标题)。

您也可以重新命名当地当地树枝,但继续追踪遥控器上的旧名称。

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

现在,当你跑的时候git push远程old_branchref 与您的本地更新new_branch.

你必须知道并记住配置此配置。 但如果您没有选择远程分支名称的选择, 它可能会有用, 但是您不喜欢它( 我的意思是, 您有一个非常好也希望本地分行名称更明确。

使用抓取配置, 您甚至可以重命名本地远程引用 , 即refs/remote/origin/new_branchref 指向分支,事实上就是old_branch上 年 月origin然而,我非常不赞成这样做,因为你心智安全。

另一个选项是根本不使用命令行。 Git GUI 客户端,例如源树树导致像这个这样的问题 成为Stack overflow最受关注的问题之一。

在 SourceTree 中,右键单击左侧“ Branches” 窗格中的任何本地分支并选择“ 重命名... ” 。

高级 Git 用户可以手动重命名 :

Rename the old branch under .git/refs/heads to the new name

Rename the old branch under .git/logs/refs/heads to the new name

Update the .git/HEAD to point to yout new branch name

重命名当前分支 :

git branch -m <newname>

将指定给任何分支的分支重新命名 :

git branch -m <oldname> <newname>

-m短为--move.


推动地方分支并重设上游分支:

git push origin -u <newname>

删除远程分支 :

git push origin --delete <oldname>

创建git rename别名 :

git config --global alias.rename 'branch -m'

在 Windows 或其他不区分大小写的文件系统上使用-M如果名称仅出现资本化变化, 则该名称只有资本化变化 。 否则, Git 将投"部门已经存在"错误 。

git branch -M <newname>

更新2023年最新情况

在开始之前, 请确定您已经选择了您想要重命名的分支 :

git checkout old-name

如果您想要看到本地所有的分支,请使用以下命令:

git branch --list

当你们清清楚楚时,

  1. 使用 Git 重命名分支命令需要添加- 中 - 中命令的选项 :

    git branch -m new-name
    
  2. 您也可以使用以下两个命令从另一个分支重命名本地分支 :

    git checkout master
    
    git branch -m old-name new-name
    
  3. 最后,该指挥部将列出所有(地方和偏远地区)分支,以核实其是否已重新命名:

    git branch -a
    

虽然无法直接重命名一个远程分支, 但重命名一个分支的过程包括两个简单步骤:

  1. 要开始, 您需要按照前几个步骤重命名本地分支 。 2. 然后再重命名本地分支 。删除删除分支和分支推进新建新。您可以通过下列命令轻而易举地做到这一点:

     git push origin :old-name new-name
    
  2. 重新设置您新的本地分支的上游分支, 您将全部设置 :

    git push origin -u new-name