首页 > 解决方案 > 分离头的合并使更改丢失

问题描述

我想我犯了一个可怕的错误,但我希望你能帮助我。

我正在使用 sourcetree,但我认为在这个错误之后我将学习如何使用 git bash。

因为两天我在一个分离的头上工作,我没有注意到它,我做了一些提交并且进展顺利,然后我尝试将我的头合并到我的开发分支中(有可能我做了另一个方式)。我解决了单一的冲突并承诺。我的屏幕刷新了,我的最后两个提交消失了,我的更改也消失了。

我希望有办法恢复这些数据。

最好的祝福,

迈克尔

标签: gitatlassian-sourcetree

解决方案


有很好的机会取回这些提交。Git 有一个名为reflog(参考日志)的组件。它列出了您最近所做的所有提交。因此,即使您删除了一个分支,例如,来自该分支的提交仍将保留在 reflog中一段时间​​,默认为 90 天,您可以恢复它们。

发射:

git reflog

并尝试找到丢失的提交并在该提交处创建一个新分支:

git branch my-lost-stuff <sha of the lost commit from the reflog>

完成后,提交可以再次访问,您可以继续使用merge, rebase,cherry-pickreset


推荐阅读