2017-10-20 54 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列出存儲庫中的所有提交,包括未連接到任何分支的提交。手動切換到最後一個未連接的提交併從那裏合併。