如何解决“错误:无法推送到不合格的目的地:HEAD”

时间:2013-08-13 23:21:34

标签: git

我有像A -> B -> C -> D -> E这样的修订版。我试图回滚到C并将其作为新版本F提交,但似乎不是正确的方法:我git checkout C然后做一些更改然后{{1 }}。但是,当我git commit抱怨时:

git push origin HEAD

正如this SO question建议的那样,我尝试了error: unable to push to unqualified destination: HEAD The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref.,但它无效。仍然收到相同的错误消息。

我的问题是,如何摆脱这种情况并实现我的原始目标(回滚到git fetch -p origin并将其提交到C)?

此外,正如这个问题所暗示的那样,我可以:

F

但我真的不想git rm -r . git checkout HEAD~3 . git commit ,因为有很多未经处理但有用的东西。

1 个答案:

答案 0 :(得分:2)

听起来你正在寻找git revert。在你的情况下:

git revert E D

之后你可以重新加入以压缩两个还原提交。