問題タブ [git-fsck]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4504 参照

git - 「git rm -rf」の後にステージングされたがコミットされていないファイルを回復する

ローカル マシンで、フォルダからファイルを削除しました。

それから私は書いた(なぜ私に聞かないでください!:))

私はまだコミットしていません。現在、プロジェクトに空のフォルダーがあります。.gitフォルダには53 objectsMb のファイルがあります。

ファイルを復元するにはどうすればよいですか? Drill Disc や Stellar などのプログラムを試しましたが、ファイルが見つかりません。また、GIT からロールバックできません。

失われたファイルを回復するにはどうすればよいですか?

0 投票する
5 に答える
86000 参照

git - Git リポジトリのダングリング コミットと BLOB とは何ですか? また、それらはどこから来るのですか?

ダングリング コミットとブロブに関する基本的な情報を探しています。

私のリポジトリは問題ないようです。しかし、私はgit fsckそれが何をしたかを確認するために初めて実行し、「ぶら下がっているブロブ」と単一の「ぶら下がっているコミット」の長いリストを持っています。

これらは何ですか?彼らはどこから来ましたか?それらは私のリポジトリの状態について異常な (良いまたは悪い) ことを示していますか?

0 投票する
0 に答える
51 参照

git - 特定のツリーを導入する最初のコミットを見つける方法は?

git fsck次の出力が与えられた場合

この偽のツリーを導入した最初のコミットを見つけるにはどうすればよいですか?

0 投票する
0 に答える
84 参照

git - 不正なファイルが原因で Git から Mercurial への変換が失敗する

Git リポジトリを Mercurial に変換しようとしています。途中で次のエラーで失敗します。

git fsckgit リポジトリ内で実行してもエラーは表示されません。

問題がどこにあるかをどのように把握し、どのように修正できますか?

0 投票する
2 に答える
5008 参照

git - HEAD^ のツリーを復元するにはどうすればよいですか?

tl;dr:HEAD^のツリーが削除され、事前にプッシュされておらず、他のすべてが無傷である場合、そのツリーを復元することは可能ですか?

の一部を誤って削除してしまいました.git。何が欠けているのか完全にはわかりません。

git pushそれが機能しないことを発見すると、次のように実行しましたgit fsck

したがって、私の推測では、GitHub から復元できる情報が不足しているだけだと思います。私のひざまずいた反応は run でしたがgit fetch、取得する新しいものは何もないと見なされるため、何も出力されずに返されます。

いくつかの方法で開梱を試み.git/objects/pack/pack-ea43d1db155e4502c2250ec1d4608843715c8b1f.packましたが、うまくいきませんでした。例えば:

毎回このエラーが発生しました。(心に留めておいてください: これは--mirrorであるため、 GitHub にあるものの正確なコピーです。そうですよね? どうして破損している可能性がありますか?)

最終的に、パックファイルを実際に解凍する必要がないことに気付きました。それを元のリポジトリにコピーして戻すだけで、Git はそれを問題なく取得します。そう:

そして、それはうまくいくように見えました。多くの場合。

ご覧のとおり、欠落しているリンクは 1 つを除いてすべて修復されました。結局のところ、はまだプッシュしていないdb238dコミット (たまたま ) の ID です。HEAD^このリポジトリの最後の 2 つのコミットは回復不能であり、それらのコミットの内容を再作成する必要があると仮定するのは正しいですか? このシナリオで正しい決定を下しましたか?

0 投票する
1 に答える
243 参照

git - git fsck --full --verbose のログを取得する方法

git fsck --full --verboseの出力をログ ファイルに記録するにはどうすればよいですか?

で試しました

しかし、どちらも私のために働いていません。私は何をすべきか?

0 投票する
0 に答える
275 参照

git - git pack-index コマンドを起動せずに大きな git リポジトリをプッシュする方法は?

私はこの質問について知っています。私はすでにローカルでの変更を実行しましたが、公式の git プロジェクトは、git fsckオリジンにプッシュする前にローカルで実行しているようです。

そしてコマンドは失敗します…

問題は、パック形式で許可されている間(size_t または unsigned long) 、公式の git プロジェクトでは、ツリー オブジェクトのサイズ(2Gb に制限)を処理するために内部で 32 ビットの符号付き整数を使用することです。

プッシュする前に fsck を実行しないコマンドはありますか? または別のプロジェクト/ライブラリ(libgit2でそれを行う方法が見つかりませんでした)を使用して、ラップトップにとどまることができますか?
別の方法として、git over ssh プロトコルに関するドキュメントを取得することもできます。これにより、その部分を自分で実装できます。