从 git 提交、删除和获取后文件更改的 MD5 哈希值

MD5 hash of file changes after comitting, deleting and fetching from git

如果要执行以下操作:

def hashmdfive(filename):
    """Generate the md5 checksum."""
    hasher = hashlib.md5()
    with open(filename, "rb") as afile:
        buf = afile.read()
        hasher.update(buf)
    return hasher.hexdigest()
  1. 制作一个包含一些内容的文件(例如test.txt)。
  2. 通过上面的 运行 hashmdfive 创建文件哈希。
  3. 提交并推送到远程 git 存储库
  4. 删除本地文件。
  5. 正在从远程获取 test.txt
  6. 通过上面的 运行 hashmdfive 创建文件的新散列。

哈希不同。有谁知道为什么会这样吗?

如果您在 Windows 上 运行,git's autocrlf feature 可能是摘要更改的原因:

这将显示当前值: git config --global core.autocrlf

“False”以外的任何内容都可能导致您观察到的行为。