不能git推或git拉

时间:2014-02-11 14:57:09

标签: git version-control

我对git比较新。我在一个名为temp的分支上,我是新建的。我做了3次提交并推了推。然后我重置了第二次提交并进行了一些更改。

git pull给了我:

  

你让我拉而不告诉我你要合并哪个分支   with,和配置文件中的'branch.temp.merge'   不要告诉我。请指定您要使用的分支   命令行再试一次(例如'git pull'

git push给了我:

  

! [拒绝] temp - >临时(非快进)错误:失败   将一些引用推到'https://myserver.com/git/project'以防止你   从失去历史,非快进更新被拒绝合并   在再次推送之前进行远程更改(例如'git pull')。请参阅'注意   关于'git push --help'的快进部分了解详情。

我实际上想要删除已经推送的第3次提交,并在重置为第2次提交后推送我已完成的最新提交。我该怎么做?

1 个答案:

答案 0 :(得分:0)

我想在使用强制选项-f时非常小心。更改远程存储库的历史记录是一件坏事。请参阅this answer了解强制推送的解决方法。

话虽如此,如果你是唯一一个从远程存储库中拔出的人,如果你绝对不关心已经被推送的第3次提交,你可以强制推送。我假设当你签出第二次提交时,你将本地分支更新为该提交。 请注意,您将永远丢失远程存储库中的第3次提交。

git push -f <repo> <branch>(例如:git push -f origin master

当然,如果您的本地分支名称与远程分支名称匹配。如果没有,你会这样做:

git push -f <repo> <local branch>:<remote branch>