我如何重命名尚未被推到远程仓库的本地分支 ?
相关:
当前回答
git branch -m <new_name>
这将为您正在工作的当前分支设定新名称 。
git branch -m <old_name> <new_name>
您必须在此提供旧的分支名称和新分支名称 。
其他回答
对于 Git GUI 用户来说,它不可能简单得多。 在 Git GUI 中, 从“ 重新命名分支” 对话框创建的“ 重新命名分支” 对话框的向下列表中选择分支名称 : 重新命名, 输入新名称, 单击“ 重新命名 ” 。 我已经突出显示要在哪里找到向下下载列表 。
要重命名本地分支 :
git branch -m [old-branch] [new-branch]
现在你也必须在远程服务器上传播这些变化。
将已删除的旧分支的更改推到下方 :
git push origin :[old-branch]
推动新分支创建的变更 :
git push origin [new-branch]
试图具体回答问题(至少是标题)。
您也可以重新命名当地当地树枝,但继续追踪遥控器上的旧名称。
git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch
现在,当你跑的时候git push
远程old_branch
ref 与您的本地更新new_branch
.
你必须知道并记住配置此配置。 但如果您没有选择远程分支名称的选择, 它可能会有用, 但是您不喜欢它( 我的意思是, 您有一个非常好也希望本地分行名称更明确。
使用抓取配置, 您甚至可以重命名本地远程引用 , 即refs/remote/origin/new_branch
ref 指向分支,事实上就是old_branch
上 年 月origin
然而,我非常不赞成这样做,因为你心智安全。
以下是重新命名分支的步骤 :
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
可能正如其他人所提到的那样,这将是分支命名中出现的情况不匹配。
如果你有这样的情况,我可以猜测 你在Windows上,这也将导致你:
$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.
然后,你必须做一个中间步骤:
$ git branch -m temporary
$ git branch -m casesensitive
仅此而已。