我有一个本地主分支,在尝试了一些东西之后,决定回去提交X,就像之前的4次提交一样,然后我创建了一个新的分支“master2”,现在这是我的主要分支。 当我尝试为我的不同分支做一个新的推送(到我的github)时,它会抛出一个错误。
git push -u origin master2
! [rejected] master2 -> master2 (non-fast-forward)
如何为这个新分支推送github?
答案 0 :(得分:1)
我不确定我是否完全理解你的问题,但是,非快进推送(这是你的情况)可以通过向推送命令添加-f
开关(强制)来解决:
git push -fu origin master2
(但是,使用强制推送例如Github被认为是一件坏事,而且有一个原因:你可以搞乱其他人的存储库,所以你应该只在你确定没有人获取时才这样做存储库master2
分支指向forcepush之前的任何内容
答案 1 :(得分:0)
“非快进”错误告诉您GitHub存储库中已存在master2
分支。我建议你检查一下这个分支上的提交。您有两种选择:
将master2
的GitHub版本与您的本地版本合并:
git pull origin master2
如果没有任何冲突,那么你可以简单地推送:
git push origin master2
如果第一个命令存在冲突,则需要解决冲突并提交更改:
git commit
然后你可以像以前一样推。
您也可以覆盖现有的master2
分支:
git push -f origin master2
警告:但是要非常小心这样做,因为这会让任何已经取消master2
分支并合并或提交给它的人感到头痛。