コミット後にgitから削除されたファイルを回復する

コミット後にgitから削除されたファイルを回復する

ファイルをローカルの git にコミットし、それを github にプッシュしました。

次のコマンドを実行してそのファイルを削除し、github にプッシュしました。

git rm file.txt
git commit -m remove file.txt
git push -u github master

その後、ファイルを元に戻したいことに気づきました。ここで概説されている手順を試してみました。 https://www.quora.com/Git のリモートリポジトリからローカルリポジトリで削除したファイルを回復する方法

次のコマンドを実行しました:

git rev-list -n 1 HEAD -- file.txt

これにより、自分のファイルが含まれるバージョンのハッシュが取得されました: HASH。これを次のコマンドで使用しました:

git checkout HASH^ file.txt

すると、次のエラーが発生しました。

error: pathspec 'file.txt' did not match any file(s) known to git

幸運なことに、github にアクセスしてそこからすべてのファイルを回復できましたが、ローカルでそれを実行する方法や、それが可能かどうかはまだわかりません。

答え1

を使用してgit reflog、ファイルがあったポイントのコミット ハッシュを取得します。次に、 を使用してgit checkout <hash>そのコミット ハッシュに戻ります。

あるいは、 を使用してgit checkout HEAD{1}1 つのコミットに戻ることもできます。

関連情報