我是git的新手,所以我觉得我做了些蠢事
假设我在版本A,我提交了一个更改,但不想这样做。现在假设我们有版本B.我没有找到一个很好的解决方案如何干净地将B回滚到A但是通过结账返回A并继续提交 - 假设我有版本C.
A--->B
\-->C
现在的问题是那些提交是成功的(我可以在.git / logs / HEAD中看到SHA和msg)
但提交没有显示在日志中,我无法将它们推送到github。在检测到这个烂摊子之前,我结帐了'掌握'......然后git全部回到了B.
如何恢复我的版本C或我的更改丢失了?
这与here描述的问题相同吗?
答案 0 :(得分:0)
这个answer在我的案例中起作用:
git reflog
git reset --hard HEAD@{ref}
然后我需要提取更改(针对最终提交+推送):
git pull origin master
否则我收到了错误:未能将某些引用推送到xy