繁体   English   中英

重命名远程 git 分支而不获取

[英]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/masterHEAD ,然后最终强制推动master

我会尝试确定您的提交:

  1. 有本地(和)
  2. 包含在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM