我如何重命名尚未被推到远程仓库的本地分支 ?

相关:

重命名本地和远程 Git 仓库的主分支 ?


当前回答

对于 Git GUI 用户来说,它不可能简单得多。 在 Git GUI 中, 从“ 重新命名分支” 对话框创建的“ 重新命名分支” 对话框的向下列表中选择分支名称 : 重新命名, 输入新名称, 单击“ 重新命名 ” 。 我已经突出显示要在哪里找到向下下载列表 。

其他回答

要重命名当前分支( 除独立 HEAD 状态外) 您也可以使用此别名 :

[alias]
    mvh = !sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $1'

重命名当前分支 :

git branch -m <newname>

将指定给任何分支的分支重新命名 :

git branch -m <oldname> <newname>

- M是短的 -移动。


推动地方分支并重设上游分支:

git push origin -u <newname>

删除远程分支 :

git push origin --delete <oldname>

要创建 git 重命名别名 :

git config --global alias.rename 'branch -m'

在 Windows 或其他不区分大小写的文件系统上, 如果名称中仅出现大小写变化, 请使用 - M 。 否则, Git 会丢弃一个“ 分支已经存在” 错误 。

git branch -M <newname>

试图具体回答问题(至少是标题)。

您也可以重命名本地分支,但继续跟踪远程的旧名称。

git branch -m old_branch new_branch
git push --set-upstream origin new_branch:old_branch

现在,当您运行 Git 推时, 远程的老管区ref 用您的本地新管区更新 。

您必须知道并记住这个配置。 但如果您没有选择远程分支名称的选择, 它可能会有用, 但是您不喜欢它( 您有一个很好的理由不喜欢它! ) 并且更喜欢您本地分支更清晰的名称 。

使用抓取配置, 您甚至可以重命名本地远程参考 。 也就是说, 拥有分支的 refs/ remote/ broot/ new_ branch ref 指针, 事实上就是原发的旧分队。 但是, 我非常不鼓励您这样做, 以保障您心灵的安全 。

高级 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 推推源: old- name new- name

重置新命名本地分支的上游分支。 切换到分支, 然后 :

git 推进源 - 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