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

相关:

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


当前回答

更新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

其他回答

到目前为止,答案是正确的,但以下是一些补充信息:

人们可以安全地将分支名称重新命名为 '-m' (move) , 但必须小心使用 '- M' , 因为它迫使重命名, 即使已经有一个已有的分支名称相同 。 以下是“ gitt- branch” man page的节录 :

在 a - m 或 - M 选项下, < oldbranch > 将重新命名为 < newbranch > 。 如果 < oldbranch > 拥有相应的 reflog, 它将被重新命名为匹配 < newbranch > , 并创建一个 reflog 条目以记住分支重命名。 如果存在 < newbranch > , 则 - M 必须用来强制重命名 。

改变本地分支很容易...

如果您在树枝上, 您想要更改名称, 只需这样做 :

git branch -m my_new_branch

否则,如果你是主人 或任何其他分支 除了你想改名的分支, 简单做:

git branch -m my_old_branch my_new_branch

另外,我在下面创建图像, 以在命令行的操作中显示此图像。 在这种情况下, 您在主分支中, 例如 :

高级 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

1. 重命名

如果是您的当前分支, 只需做

git branch -m new_name

如果它是另一个分支, 您想要重命名

git branch -m old_name new_name

2. 跟踪一个新的远程分支

- 如果您的分支被推动, 那么在重新命名后, 您需要从远程 Git 仓库删除它, 并要求您的新本地端跟踪新的远程分支 :

git push origin :old_name
git push --set-upstream origin new_name

将当前分支重命名为新分支名称 :

git branch -m <new_name>

这将为您正在工作的当前分支设定新名称 。


要重命名另一个分支 :

git branch -m <old_name> <new_name>

您必须在此提供旧的分支名称和新分支名称 。