ファイルをローカルの 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 つのコミットに戻ることもできます。