代わりに実行し、数日前のバージョンでgitリポジトリを上書きするtar x
間違いを犯しました。tar c
これにより、を含む私が作成したすべての新しいファイルが保存されます.git
。できるだけ復元するにはどうすればよいですか?
答え1
場合に備えて、まず混乱全体のコピーを作成してください。
git fsck
ぶら下がったオブジェクトとコミットが表示されます。最新のぶら下がっているコミットを見つけてください。すべてのコミットハッシュを入力すると、gitk
一番上の最新の「最近の」ハッシュのみが表示されます。作業するコミットが数個だけであるほか、戻す分岐も一つだけです。ヘッドが複数ある場合、これはより複雑になります。
次に、git stash
現在コミットされていない変更をチェックから非表示にします。
git reset --hard
その後、上記で決定したコミットハッシュを取得できました。
git stash pop
また、非常にきれいに再びマージされます。私が望むほとんどすべてを得たと思います。