Git:从乱糟糟的本地回购中恢复我提交的数据

时间:2010-12-29 18:33:55

标签: git

我是git的新手,所以我觉得我做了些蠢事

假设我在版本A,我提交了一个更改,但不想这样做。现在假设我们有版本B.我没有找到一个很好的解决方案如何干净地将B回滚到A但是通过结账返回A并继续提交 - 假设我有版本C.

A--->B
 \-->C

现在的问题是那些提交是成功的(我可以在.git / logs / HEAD中看到SHA和msg)

但提交没有显示在日志中,我无法将它们推送到github。在检测到这个烂摊子之前,我结帐了'掌握'......然后git全部回到了B.

如何恢复我的版本C或我的更改丢失了?

这与here描述的问题相同吗?

1 个答案:

答案 0 :(得分:0)

这个answer在我的案例中起作用:

git reflog
git reset --hard HEAD@{ref}

然后我需要提取更改(针对最终提交+推送):

git pull origin master

否则我收到了错误:未能将某些引用推送到xy