我的应用程序的全新版本有孤儿分支 new-version
。
在我的本地系统上,我还没有master branch
。我只有new-version branch by doing
git init`并且手动添加原点并推送到新分支。
我想将master
分支重命名为archived-v1
,因此我可以将new-version
分支推送为master
。
存储库相当大。所以我想重命名master
分支而不必先取/拉它。
如何重命名远程分支而不将其提取到本地系统?
我的本地系统上没有主人,只有远程主人。所以:
$ git checkout master
error: pathspec 'master' did not match any file(s) known to git.
$ git checkout origin/master
error: pathspec 'origin/master' did not match any file(s) known to git.
答案 0 :(得分:2)
一种方法是尝试合并服务器端(使用GitHub pull请求)来保留origin/master
中的提交,然后移动HEAD
local/master
强行推动master
。
我会尝试确定你的提交:
origin/master
git checkout (your determined commit)
git checkout -b archived-v1
git push origin archived-v1
然后在GitHub上打开一个拉取请求,将origin/master
合并到origin/archived-v1
(应该是一个没有冲突的快进)。
移动origin/master
git checkout master
git reset --hard new-version
git push -f origin master