我有像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
,因为有很多未经处理但有用的东西。
答案 0 :(得分:2)
听起来你正在寻找git revert
。在你的情况下:
git revert E D
之后你可以重新加入以压缩两个还原提交。