-1
git
はファイルのメタデータを追跡しないため、ファイルメタデータはファイルのSHA-1
ハッシュの一部ではありません。これは、ファイルのSHA-1ハッシュの一部でなければならないようですか?Gitのメタデータ部分がSHA-1ハッシュでないのはなぜですか?
ファイル名やそのファイルのその他のメタデータが変更された場合、ファイルのハッシュが変更されないのはなぜですか?
git
はファイルのメタデータを追跡しないため、ファイルメタデータはファイルのSHA-1
ハッシュの一部ではありません。これは、ファイルのSHA-1ハッシュの一部でなければならないようですか?Gitのメタデータ部分がSHA-1ハッシュでないのはなぜですか?
ファイル名やそのファイルのその他のメタデータが変更された場合、ファイルのハッシュが変更されないのはなぜですか?
gitの中のファイルが二つの部分
物事がツリーに格納されています。
ファイルの名前を変更してコミットすると、同じ内容のBLOBを指し示す新しいツリーが表示されます。
逆に、同じ内容の複数のファイルを同じBLOBを指すようにすることができます。
ファイル名を変更してもSHA-1ハッシュが変更されず、ファイルが別のものとして表示されるのはなぜですか?私は 'git mv'で名前が変更されたと言わない限り、Gitは何の違いも見られません。 –
あなたは何を意味するのか分かりません。ファイル名を変更してもファイルの内容は変更されないため、SHA-1のハッシュ値は変更されません。また、リネーム操作をインデックスに追加せずにファイル名を変更すると(これは 'git mv'と同じですが、それ以外の方法もあります)、gitは"新しい "ファイルを追跡したい「古い」ファイルの追跡を停止する)。 – Thilo
SHA-1ハッシュはファイル名に基づいていないので、ファイルの内容だけです。 –