Git将不同的分支推送到github

时间:2016-02-03 23:06:57

标签: git github

我有一个本地主分支,在尝试了一些东西之后,决定回去提交X,就像之前的4次提交一样,然后我创建了一个新的分支“master2”,现在这是我的主要分支。 当我尝试为我的不同分支做一个新的推送(到我的github)时,它会抛出一个错误。

 git push -u origin master2
 ! [rejected]        master2 -> master2 (non-fast-forward)

如何为这个新分支推送github?

2 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解你的问题,但是,非快进推送(这是你的情况)可以通过向推送命令添加-f开关(强制)来解决:

git push -fu origin master2

(但是,使用强制推送例如Github被认为是一件坏事,而且有一个原因:你可以搞乱其他人的存储库,所以你应该只在你确定没有人获取时才这样做存储库master2分支指向forcepush之前的任何内容

答案 1 :(得分:0)

“非快进”错误告诉您GitHub存储库中已存在master2分支。我建议你检查一下这个分支上的提交。您有两种选择:

  1. master2的GitHub版本与您的本地版本合并:

    git pull origin master2
    

    如果没有任何冲突,那么你可以简单地推送:

    git push origin master2
    

    如果第一个命令存在冲突,则需要解决冲突并提交更改:

    git commit
    

    然后你可以像以前一样推。

  2. 您也可以覆盖现有的master2分支:

    git push -f origin master2

    警告:但是要非常小心这样做,因为这会让任何已经取消master2分支并合并或提交给它的人感到头痛。

相关问题