4

私の Git ディレクトリ内のファイルのほとんどはプレーン テキスト ファイルです (圧縮されたルース オブジェクトとパックファイルを除く)。そのため、リポジトリが破損した場合は、ファイルを cat して編集し.git/HEADたり、リポジトリを検査したりできます。.git/refs/heads/master

しかし、これ.git/indexはバイナリ ファイルです。手で簡単に変更できるので、プレーンテキストファイルの方が便利ではないでしょうか?

Scott Chacon は、彼のプレゼンテーションで次の画像を示しています (スライド 278)。 スコット・チャコンによる索引

私の意見では、これはプレーンテキストファイルに簡単に入れることができます。

では、なぜプレーン テキスト ファイルではなくバイナリ ファイルなのでしょうか。

4

2 に答える 2

3

git インデックスには正確には何が含まれていますか?」に示されているように、インデックスにはメタデータが含まれており、以下Jazimovによって指摘されているように、次の参照が含まれています。

  • インデックス エントリ: メタデータ (時間、モード、サイズ、SHA1 など) を含むエントリへの参照
  • ツリー (「インデックスから派生できるツリーの事前計算済みハッシュ」) を参照する cached trees は、新しいコミットのインデックスからのツリー オブジェクトの生成を高速化するのに役立ちます

これらのデータを連結すると、バイナリ ファイルになりますが、実際の理由は純粋な憶測です。手動で変更できない場合は、手動で変更できます。

于 2014-12-02T10:23:24.983 に答える