5

私は git を初めて使用し、「rm *」コマンドでいくつかの重要なファイルを削除したというばかげた間違いを犯しました。ただし、「git add」を使用してこれらのファイルを追加しましたが、コミットはしませんでした。削除はまだ追加されていません。これらの削除されたファイルを回復する方法はありますか。

提案や回答をいただければ幸いです。ありがとう。

4

2 に答える 2

7

git commitファイルは既にステージング領域 (インデックス) にあるため、引数なしでコミットするだけです。これにより、作業ツリーの現在の状態に関係なく、インデックスの内容がコミットされます。

次に、git reset --hard(保持したいツリーに他の変更がない場合)を使用するかgit checkout FILE1 FILE2...、失われたファイルを作業ツリーに復元できます。

于 2012-09-15T07:20:24.657 に答える
6

を使用git fsck --lost-foundして、参照されなくなったすべてのオブジェクトを検索できます。「blob」オブジェクトを見て、それらのいずれかが削除したファイルと一致するかどうかを確認する必要があります。参照されていないオブジェクトがたくさん転がっていないことを願っています。


user4815162342 が指摘したように、投稿者は実際には削除がまだ追加されていないと述べていますgit checkout

他の誰かが に関する情報を必要とする場合に備えて、回答を残しておきますgit fsck --lost-foundが、user4815162342 の回答は受け入れられるべきです。

于 2012-09-15T04:59:09.587 に答える