我如何重命名尚未被推到远程仓库的本地分支 ?
相关:
当前回答
以下是重新命名分支的步骤 :
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
其他回答
到目前为止,答案是正确的,但以下是一些补充信息:
人们可以安全地将分支名称重新命名为 '-m' (move) , 但必须小心使用 '- M' , 因为它迫使重命名, 即使已经有一个已有的分支名称相同 。 以下是“ gitt- branch” man page的节录 :
采用-m或-m或-M选项,
<oldbranch>
将重新命名为<newbranch>
。如果<oldbranch>
具有相应的卷号, 重新命名为匹配<newbranch>
,将创建一个重写条目以记住分支重新命名。如果<newbranch>
存在, -M 必须用于强制重命名 。
仅三个步骤,以复制名称的更改remote
以及基特胡卜人的故事:
步骤1git branch -m old_branchname new_branchname
步骤2git push origin :old_branchname new_branchname
步骤3git push --set-upstream origin new_branchname
要重命名您的当前分支 :
git branch -m <newname>
所有你必须做的是三步:
.git/refs/heads
新名称.git/logs/refs/heads
新名称.git/HEAD
导致您新分支名称重命名本地分支 :
git branch -m <old_branch_name> <new_branch_name>
按下新分支 :
git push --set-upstream origin <new_branch_name>