Git重置后在不同分支上恢复

时间:2017-10-20 18:35:10

标签: git

有人发给我一个我一直在使用的数据文件的“更新”版本。我没有意识到它只是部分更新,我实际上需要将他们的更改与我覆盖我正在使用的数据之前已经拥有的更改合并。

为了恢复他们的数据,我开始了一个新的分支(git checkout -b datafix),重置为我知道我需要原始数据的提交(git reset --hard 91ecb113f),做了我的更改并且提交了数据文件(git add data.csvgit commit -m "update data")已切换回主数据库,然后尝试仅检出数据文件(git checkout mastergit checkout datafix data\survey_data.csv)。但看起来我对repo中其他文件的更改被覆盖了。

我现在意识到即使在更改分支后进行硬重置也可能会覆盖我的文件。有没有办法恢复我未提交的更改?

1 个答案:

答案 0 :(得分:1)

使用git reflog --all列出存储库中的所有提交,包括未附加到任何分支的提交。手动切换到上次未连接的提交并从那里进行合并。