2016-04-25 5 views
1

私は一日前に私のリポジトリでgit rebaseを開始し、それを終了しませんでした。私は忘れてしまいましたが、私がまだリベースにいた間に多くの変更を行いました。今日私は間違いなくgit rebase --abortコミットに入れずに実行しました。今は私の修正がすべてなくなったようです。それらを回復する方法はありますか?git rebaseの後でリカバリする -

git reflogは、次のようになります。

57d731c [email protected]{0}: rebase: aborting 
d2d3738 [email protected]{1}: rebase -i (start): checkout david 
57d731c [email protected]{2}: commit: My commit message 
+0

編集したコミットを見つけることができるかどうか 'git reflog'を見てください:) – knittl

+0

私が' d2d3738'をチェックアウトすれば、リベース中にしたコミットされていない変更が復元されるでしょうか? – Danvil

+0

'git show'または' git log -p'(または 'gitk')を使って、問題のコミットを調べます。あなたが変更をコミットしなかった場合、チャンスはスリムです。私はGitがrebaseを中止するときにGitが自動的に隠すとは思わない。あなたが失ったファイルのバージョンを含む可能性があるブロブやツリーがぶら下がっているかどうかを調べる価値があります。 – knittl

答えて

2

あなたがリベース中にそれらの変更をコミットしなかった場合、彼らは残念ながら取消不能失われます。

+0

私はgitがあなたのコミット時にあなたのデータの完全な責任を取ることを追加したいと思います。 あなたが仕事を失ったことは残念ですが、ここで学ぶべき教訓があります:将来この状況を避けるために頻繁にコミットしてみてください。乾杯! – MBlanc

3

コミットしていない場合でも、が追加された場合は、内容がになります。 ただし、ステージングに変更を追加していない場合でも、IDEを使用し、IDEに変更のローカル履歴がない限り、変更を回復することはできません。

gitは、ステージ領域に入っていて、untrackedではなく、ファイルを追跡し始めます。

ローカルヒストリーは、すべてのメジャーIDEに存在します。

+1

勝利のためのローカルIDEの歴史! – dwenaus

+0

私は古いリベースを中止する前に私の変更を上げましたが、それでもそれを回復することはできません。 –

1

git stashの前にgit rebaseの方が良いです。 git stash popは、あなたがどこにいても簡単にあなたを連れて行くことができます。

関連する問題