我该如何将远程分支重命名为origin/legacy或origin/master?
我尝试过:
git remote rename regacy legacy
但是这个出错了:
错误:无法将配置部分“remote.regacy”重命名为“remote.legacy”
git remote rename regacy legacy
另一个解决方法如下:
更具体地说:
# Checkout to the branch you want to rename
git checkout <old_branch_name>
# Create a new branch from the old one and checkout to it
git checkout -b <new_branch_name>
# Push the new branch to remote
git push -u <origin> HEAD
# Delete local branch
git branch -d <old_branch_name>
# Delete remote branch
git push <origin> -d <old_branch_name>
没有直接的方法,
重命名本地分支,
我的当前分支是master
git branch -m master_renamed
#master_renamed是master的新名称
删除远程分支,
git push origin --delete master
#origin是远程名称
将重命名的分支推送到远程,
git push origin master_renamed
就这样...
git push -u origin master_renamed
命令将分支设置为跟踪分支。 - ut9081访问您的存储库设置中的“分支”:https://github.com/<name>/<repository-name>/settings/branches
使用此存储库的每个人都必须在本地执行以下操作:
$ git fetch $ git checkout <new_name>
即使不重命名本地分支,也可以通过三个简单的步骤完成:
default
分支(例如master
),则在运行git push origin :<branch_name>
时会收到以下错误:
![remote rejected] master (refusing to delete the current branch: refs/heads/<branch_name>) error: failed to push some refs to '<repo_name>'
a)在删除分支之前更改default
(Github示例)
default
分支:$ git push origin :master
我使用这些git别名来自动完成大部分工作:
Original Answer翻译成:最初的回答
git config --global alias.move '!git checkout master; git branch -m $1 $2; git status; git push --delete origin $1; git status; git push -u origin $2; git branch -a; exit;'
使用方法:git move FROM_BRANCH TO_BRANCH
如果你使用的是默认名称如master、origin等,此命令可以正常工作。 你也可以根据需要进行修改,但这给了你一个思路。
注意:保留html标签。
首先,确保本地分支的名称已更正为正确的新名称。
适当的命令是git branch -a
。
现在从远程存储库中删除旧的、不正确的名称的分支。
为此,请使用以下命令:git push origin --delete <old-name>
验证旧分支是否已正确删除。
现在添加具有正确名称的分支。
为此,请使用命令git push origin -u <new-name>
最后,执行重置上游分支以确保更改生效。
仅重命名远程分支:
(set -ex; old=oldname; new=newname; git push origin origin/$old:refs/heads/$new :$old)
或者:
git-rr() (set -ex; old=$1; new=$2; git push origin origin/$old:refs/heads/$new :$old)
git-rr oldname newname
git rename my-new-branch-name
然后,您需要创建一个名为git-rename
的文件,使其可执行 (chmod +x git-rename
),并将其保存到包含this的$PATH
文件夹中:
#!/bin/sh
currentBranch="$(git rev-parse --abbrev-ref HEAD)"
test $# != 1 && cat <<EOF && exit 1
Renames the current branch ($currentBranch) both locally and remotely.
USAGE:
git rename <new branch name>
EOF
newBranch="$1"; shift
git branch -m "$newBranch" && \
git push origin :"$currentBranch" "$newBranch"
git branch -M 新名称
3.git push -d origin 旧名称
4.git push -u origin 新名称
。 - aderchoxold name
git branch –m old-name new-name
git checkout new name
git push -u origin new-name
new name
,现在你可以删除旧分支的远程头部了git push -d origin old-name
。现在本地和远程仓库只有一个新分支包含所有提交记录,旧分支已经安全删除了,在新分支创建后。