如果有一个存储库,我只有git://访问(通常只是推+拉),是否有一种方法重命名该存储库中的分支,以同样的方式,我将在本地用git branch -m?


当前回答

我不知道为什么,但@Sylvain Defresne的答案对我来说不管用。

git branch new-branch-name origin/old-branch-name
git push origin --set-upstream new-branch-name
git push origin :old-branch-name

我必须取消上游的设置,然后我可以再次设置流。以下是我是如何做到的。

git checkout -b new-branch-name
git branch --unset-upstream
git push origin new-branch-name -u
git branch origin :old-branch-name

其他回答

如果你在用Github…

你可以使用github.com上的UI创建一个基于旧名称分支的新分支:

按照以下步骤更改分支名称:

Git branch -m old_branchname new_branchname Git推送源:old_branchname new_branchname Git push——set-upstream origin new_branchname

之后取回原点

Git获取来源 Git远程删除源文件

我不知道这是对是错,但我把分支的“旧名称”推到了分支的“新名称”,然后用下面两行代码完全删除了旧分支:

git push origin old_branch:new_branch
git push origin :old_branch

我不知道为什么,但@Sylvain Defresne的答案对我来说不管用。

git branch new-branch-name origin/old-branch-name
git push origin --set-upstream new-branch-name
git push origin :old-branch-name

我必须取消上游的设置,然后我可以再次设置流。以下是我是如何做到的。

git checkout -b new-branch-name
git branch --unset-upstream
git push origin new-branch-name -u
git branch origin :old-branch-name

当然。只需在本地重命名分支,推送新分支,并推送旧分支的删除。

唯一真正的问题是存储库的其他用户不会重命名本地跟踪分支。