相关链接:
- [重命名本地和远程 Git 仓库的主分支](link1) - [如何同时重命名 Git 的本地和远程分支名称?](link2)
重命名本地分支:
git branch -m [old-branch] [new-branch]
现在您需要将这些更改传播到远程服务器上。
推送已删除旧分支的更改:
git push origin :[old-branch]
要推送创建新分支的更改:
git push origin [new-branch]
更新 2023
开始前,请确保您已选择要重命名的分支:
git checkout old-name
如果您想查看所有本地分支,请使用以下命令:
git branch --list
在完全明确之后,请按照以下步骤操作:
使用Git重命名分支命令需要在命令中添加-m选项:
git branch -m new-name
您可以使用以下两个命令之一,将一个本地分支从另一个分支重命名:git checkout master
git branch -m old-name new-name
最后,此命令将列出所有分支(包括本地和远程),以验证其已被重命名: git branch -a
虽然直接重命名远程分支不可能,但是重命名的过程包括以下两个简单步骤:
首先,您需要按照之前的步骤重命名本地分支。 2.然后删除旧分支并推送新分支。您可以使用以下命令轻松完成此操作:
git push origin :old-name new-name
重置上游分支与您的新本地分支,这样您就可以全部设置好了: git push origin -u new-name
试图具体回答问题(至少是标题中的问题)。
您还可以重命名本地分支,但仍要跟踪旧名称在远程上的情况。
git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch
现在,当你运行git push
命令时,远程old_branch
引用会被更新为你本地的new_branch
分支。
你需要知道并记住这个配置。但如果你没有选择远程分支名称,但又不喜欢它(哦,我的意思是,你有一个非常好的理由不喜欢它!),并且更喜欢一个更清晰的名称来表示你的本地分支,那么这个配置可能会很有用。
通过调整抓取(fetch)配置,你甚至可以重命名本地远程引用。例如,将指向分支的refs/remote/origin/new_branch
引用指针重命名为实际上在origin
上的old_branch
分支。然而,基于你心灵的安全起见,我强烈反对这样做。
使用以下命令重命名分支:
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用户可以使用以下命令手动更改名称:
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 new-name
如果您在不同的分支上:
git branch -m old-name new-name
git push origin :old-name new-name
git push origin -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 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分支名称是一篇很好的文章。可能如其他人所述,这是分支命名中的大小写不匹配问题。
如果你遇到了这种情况,我猜测你使用的是Windows系统,这也会导致以下情况:
$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.
那么你需要进行一个中间步骤:
$ git branch -m temporary
$ git branch -m casesensitive
没有更多了。
在本地更改分支非常容易,只需按照以下步骤操作:
如果您正在要更改名称的分支上,请执行以下操作:
git branch -m my_new_branch
否则,如果你在master
或者除了你想要更改名称的那个分支之外的任何其他分支上,只需执行以下操作:
master
or any other branch other than the one you'd like to change the name, simply do:git branch -m my_old_branch my_new_branch
另外,我创建了下面的图片以展示在命令行上如何操作。例如,在本例中,您正在master
分支上:
要重命名当前分支(除了游离的 HEAD 状态),你也可以使用这个别名:
[alias]
mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'
git branch --unset-upstream
,然后再运行git push --set-upstream origin branch_name
来清理一切。 - Nicolas Castro