我有四个分支,例如 master -> origin/regacy,FeatureA -> origin/FeatureA。如您所见,我输入了错误的名称。
所以我想重命名一个远程分支名称(origin/regacy——origin/legacy 或 origin/master)
我尝试以下命令:
git remote rename regacy legacy
但是 Git 控制台向我返回了一条错误消息。
error : Could not rename config section 'remote.regacy' to 'remote.legacy'
我怎么解决这个问题?
有几种方法可以做到这一点:
# Rename the local branch to the new name git branch -m <old_name> <new_name> # Delete the old branch on remote - where <remote> is, for example, origin git push <remote> --delete <old_name> # Or shorter way to delete remote branch [:] git push <remote> :<old_name> # Prevent git from using the old name when pushing in the next step. # Otherwise, git will use the old upstream name instead of <new_name>. git branch --unset-upstream <new_name> # Push the new branch to remote git push <remote> <new_name> # Reset the upstream branch for the new_name local branch git push <remote> -u <new_name>
信用:ptim
# In this option, we will push the branch to the remote with the new name # While keeping the local name as is git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
当您使用git branch -m(move) 时,Git 也会使用新名称 更新 您的跟踪分支。
git branch -m
git remote rename legacy legacy
git remote rename正在尝试更新配置文件中的远程部分。它会将具有给定名称的遥控器重命名为新名称,但在您的情况下,它没有找到任何名称,因此重命名失败。
git remote rename
但 它不会像你想的那样做;它将重命名您的 本地 配置远程名称,而 不是 远程分支。
注意 Git 服务器可能允许您使用 Web 界面或外部程序(如 Sourcetree 等)重命名 Git 分支,但您必须记住,在 Git 中所有工作都在本地完成,因此建议使用上述命令到工作。