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

时间:2015-11-03 02:30:09

标签: git github

我的应用程序的全新版本有孤儿分支 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.

1 个答案:

答案 0 :(得分:2)

一种方法是尝试合并服务器端(使用GitHub pull请求)来保留origin/master中的提交,然后移动HEAD local/master强行推动master

我会尝试确定你的提交:

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