質問: gitはデータの劣化を防ぎますか 私は、zfsとbtrfsが データの劣化 を防ぐためにチェックサムを使用していることを読み、gitはコミットごとに基本的にすべてをハッシュすることによって整合性を保ちます。私はストレージ用にbtrfs raid 1を備えたlinux nas上のgitサーバーを使うつもりでしたが、もしgitが完全性を持っていればこれは必要ないと思います).質問:それでは、コミットごとに基本的にすべてをハッシュすることによるgitの整合性は、ビットの腐敗を防ぎますか、それとも助けになりますか?
回答: ビット腐敗を防ぐ いいえ、それはしません、まったく意味がありません。 gitによって導入されたraidのような冗長性はありません。あなたの.gitディレクトリの中のファイルが少し腐敗しているなら、いつものようにものを失うでしょう。 ビット腐敗を防ぐ? yyyy ...いや。それは発生するビット - 腐敗を助けませんが、それはビット - 腐敗を検出するのを助けます。しかし、通常の使用では、それはそれ自身のアカウントでは行われません(明らかに、オブジェクトをチェックアウトするときなどに行われますが、履歴用ではありません)。コンテンツからハッシュを再計算し、それらを実際のハッシュと比較するには、cronジョブを作成する必要があります。 gitハッシュは文字通り単にコンテンツハッシュであるため、そうするのはかなり簡単です。それらを再計算するのは簡単でgit fsckはそうします。しかし、それがビットの腐敗を検出した場合、それに対してそれができることは特にありません。特に、大きなチャンクは自動的に圧縮されるので、大きなオブジェクトのビットが反転されると、チャンク全体が失われる可能性があります。