git rm -rf最初のコミットなしで実行する別の例があります。(役に立たないファイルをたくさん追加したことに気づき、いくつかのフィルターを追加したいと思いました。)
これで、ツリーのない 23000 個のぶら下がりブロブが残っていますが、完全な Git 履歴が残っています!
スクリプトを使用して ( を使用して) blobnames をループしますが、git show 'blobname' > 'filename'これらのファイル名を履歴から blob に関連付けることはできますか?
git rm -rf最初のコミットなしで実行する別の例があります。(役に立たないファイルをたくさん追加したことに気づき、いくつかのフィルターを追加したいと思いました。)
これで、ツリーのない 23000 個のぶら下がりブロブが残っていますが、完全な Git 履歴が残っています!
スクリプトを使用して ( を使用して) blobnames をループしますが、git show 'blobname' > 'filename'これらのファイル名を履歴から blob に関連付けることはできますか?
私が犯した正確な間違いをした/する予定のすべての人のために、これで話は終わりです。
まず、私がしたことの簡単な要約。
gid add . git rm -rf 次に、.gitignoreにいくつかのフィルターを追加することを目的としています私はあらゆる種類のデータ回復ツールを試しました。運がない。私にできる最善のことは、次の手順でした。
git fsck --lost-found おそらく--unreachable --cache.git/lost-found/otherと、元のファイルがすべて(ほとんど?)再作成されたフォルダが作成されますが、ファイル名は含まれません。今問題はファイル名を回復する方法でした。残念ながら、私が復元したファイルはすべてblobであり、ルートはありませんでした。そのため、ディレクトリのツリー構造に関する情報はありませんでした。file一般に、ファイルのタイプ( )を確認するために使用するスクリプトを記述し、file <filename>それに対応する拡張子を付けることができます。ファイルとファイル名を一致させる問題はまだ残っています。幸運を!