2017-10-20 73 views
0

有人向我发送了我一直在使用的数据文件的“更新”版本。我没有意识到它只是部分更新,我实际上需要将他们的更改与我在覆盖我使用的数据之前已有的更改合并在一起。在Git重置后在不同分支上恢复

为了恢复自己的数据,我开始了一个新的分支(git checkout -b datafix),重置提交,我知道了我所需要的原始数据(git reset --hard 91ecb113f),使我的变化,并承诺只是数据文件(git add data.csvgit commit -m "update data" ),切换回主,然后尝试检出数据文件(git checkout master,git checkout datafix data\survey_data.csv)。但它看起来像我对repo中其他文件的更改被覆盖。

我现在意识到,即使在更改分支后可能会覆盖我的文件,也会执行硬重置。有什么方法可以恢复未提交的更改?

回答

1

使用git reflog --all列出存储库中的所有提交,包括未连接到任何分支的提交。手动切换到最后一个未连接的提交并从那里合并。