我如何重命名尚未被推到远程仓库的本地分支 ?
相关:
当前回答
更新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
其他回答
可能正如其他人所提到的那样,这将是分支命名中出现的情况不匹配。
如果你有这样的情况,我可以猜测 你在Windows上,这也将导致你:
$ git branch -m CaseSensitive casesensitive
fatal: A branch named 'casesensitive' already exists.
然后,你必须做一个中间步骤:
$ git branch -m temporary
$ git branch -m casesensitive
仅此而已。
高级 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 checkout oldbranch
git branch -m newbranch
git branch -m oldbranch newbranch
如果其他用户使用此分支并承诺执行此分支, 您应该在将其重新命名为本地之前将其拉动 。 这样可以确保您的本地仓库得到更新, 并确保其他用户所做的更改不会丢失 。
首先,我们需要删除oldbranch
从远程仓库中键,然后按enwbranch
至远程。
git push origin --delete oldbranch
使用-u(固定上游)选项,
git push origin -u newbranch
试图具体回答问题(至少是标题)。
您也可以重新命名当地当地树枝,但继续追踪遥控器上的旧名称。
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 [old-branch] [new-branch]
现在你也必须在远程服务器上传播这些变化。
将已删除的旧分支的更改推到下方 :
git push origin :[old-branch]
推动新分支创建的变更 :
git push origin [new-branch]