我如何重命名尚未被推到远程仓库的本地分支 ?
相关:
当前回答
以下是重新命名分支的步骤 :
git branch -m <new_name>
git push origin :<old_name>
git push origin <new_name>:refs/heads/<new_name>
EDIT(12/01/2017):确保您运行命令git status
并检查新创建的分支指向的是它自己的参考文献,而不是旧的参考文献。如果找到旧分支的引用文献,您需要解开上游的设置,使用 :
git branch --unset-upstream
其他回答
您的分支完成后, 重新命名分支将会有用 。 然后, 新的东西即将到来, 您想要在同一分支中开发, 而不是删除它, 然后创建新的分支 。
从我的经验来看,为了重新命名基特的一个本地和偏远分支,你应该采取以下步骤。
如果您在分支上, 您想要重命名 :
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
到目前为止,答案是正确的,但以下是一些补充信息:
人们可以安全地将分支名称重新命名为 '-m' (move) , 但必须小心使用 '- M' , 因为它迫使重命名, 即使已经有一个已有的分支名称相同 。 以下是“ gitt- branch” man page的节录 :
采用-m或-m或-M选项,
<oldbranch>
将重新命名为<newbranch>
。如果<oldbranch>
具有相应的卷号, 重新命名为匹配<newbranch>
,将创建一个重写条目以记住分支重新命名。如果<newbranch>
存在, -M 必须用于强制重命名 。
如果您在分支上, 您想要重命名 :
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
更新2023年最新情况
在开始之前, 请确定您已经选择了您想要重命名的分支 :
git checkout old-name
如果您想要看到本地所有的分支,请使用以下命令:
git branch --list
当你们清清楚楚时,
使用 Git 重命名分支命令需要添加- 中 - 中命令的选项 :
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/refs/heads
新名称.git/logs/refs/heads
新名称.git/HEAD
导致您新分支名称