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

相关:

重命名本地和远程 Git 仓库的主分支 ?


当前回答

重新命名您的本地分支 。

如果您在分支上, 您想要重命名 :

git branch -m new-name

如果在另一分支上:

git branch -m old-name new-name

删除旧名称远程分支并按下新名称本地分支 。

git 推推源: old- name new- name

重置新命名本地分支的上游分支。 切换到分支, 然后 :

git 推进源 - u new- name

或者为了快速地做到这一点 你可以使用这三步:

# 本地重命名分支

git branch -m old_branch new_branch  

# 删除旧的远程分支

git push origin :old_branch  

# 推动新分支, 设置本地分支以跟踪新远程

git push --set-upstream origin new_branch   

参考文献:https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html

其他回答

高级 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 分支- m。 当然,这很容易操作, 但对我来说, 可能很难记住另一个 Git 命令。 所以我试图让我熟悉的指令完成它的工作。 是的,你可能猜到了。

我使用 git 分支 -b <new_branch_name>。 如果您现在不想保存旧分支, 您可以执行 git 分支 -D <old_branch_name> 来删除它 。

我知道这或许有点无聊, 但更容易理解和记住。我希望这对你有益。

更新2023年最新情况

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

git checkout old-name

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

git branch --list

当你们清清楚楚时,

使用 Git 重命名分支命令需要您在您的命令中添加一个 - m 选项 : git 分支 - m 新名称 您也可以使用以下两个命令从另一个分支重命名本地分支 : git checkout master git 分支 - m 旧名新名称 最后, 此命令将列出所有本地和远程分支, 以核实它是否被重新命名 : git 分支 - a

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

要开始, 您需要按照前几个步骤重新命名本地分支 。 2. 然后删除旧分支, 并按下新分支 。 您可以在以下命令下轻松地做到这一点 : git 推推源 : old- name new - name 重设您新本地分支的上游分支 , 您将全部设置为: git 推源 - u new - name

使用此命令重命名分支 :

git branch -m [old_branch_name] [new_branch_name]

- m: 它重命名/ 移动分支。 如果已经有一个分支, 您将会出错 。

如果已经有一个分支, 您想要用该分支重命名, 请使用 :

 git rename -M [old_branch_name] [new_branch_name]

有关帮助的更多信息,请在终端中使用此命令 :

git branch --help

man git branch

所有你必须做的是三步:

在.git/refs/head 下给旧分支以.git/refs/head 下的新名称 给旧分支以.git/log/refs/head 下的新名称 更新 .git/HEAD 以导致您的新分支名称 。