2016-12-07 17 views
2

は、はgitので追跡し、ローカルで変更されたファイルてみましょう。ファイルがスタッシュにすぎ 続いた。またより :gitでローカルの変更を破棄し直す方法は?明確にする

git stash pop  # if you did it, see [this link][1] 
git checkout a  # if accidently you did only this - you lose 

は、そのファイル内のすべての変更を破棄します。

この操作を元に戻す方法はありますか?

私はREFLOGで、この操作は表示されません。ポップ後

スタッシュは、(記載されていない)が存在しませんが、その歴史のいずれかがどこか.gitディレクトリにありますか?

+4

http://stackoverflow.com/questions/89332/how-to元の質問に@ jthillさんのコメントを見て、いくつかの掘削を行うことができます-recover-a-dropped-stit-in-gitは、あなたが必要とするかもしれないように見えます – jthill

答えて

2

reflogは、私だけがあなたの変更を確認するために期待していないので、枝の先端が更新されたときを追跡します。 docから

リファレンスログ、または「reflogs」、枝の先端と 他の参照がローカルリポジトリで更新された記録。

この状況でcheckoutを使用すると、これらの変更が失われてしまうことを申し訳ありません。

stashは、より安全な代替することができます。

EDIT

この損失は深刻である場合は、あなたが潜在的に

+0

そのファイル*はポップされた隠し場所にありました。 –

+0

あなたの隠しスタックのものをポップすることはスタックから取り除くので、まだ失われていると思います...しかし、 "ポップ"ではなく "適用"を使用していれば、まだ取り戻すことができます。以前のコミットに変更が加えられていないことは確かですか? –

関連する問題