[英]Rename remote git branch without fetch
我有一个孤儿分支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.
一种方法是尝试在服务器端进行合并(使用 GitHub 拉取请求)以保留origin/master
的提交,然后移动local/master
的HEAD
,然后最终强制推动master
。
我会尝试确定您的提交:
origin/master
git checkout (your determined commit)
git checkout -b archived-v1
git push origin archived-v1
然后在 GitHub 上打开一个 pull request 将origin/master
合并到origin/archived-v1
(应该是快进没有冲突)。
移动origin/master
的头
git checkout master
git reset --hard new-version
git push -f origin master
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.