从 github 迁移源后显示旧的 sha256 值

displaying old sha256 value after migrating sources from github

我在 GitHub 中有一个名为 RepoA 的存储库,其中包含一些大文件。 我将 RepoA 从 GitHub 迁移到 GitLab。

之后,我从 GitLab 克隆了 RepoA 源代码。如果我运行

git show file1.tar

我收到以下消息:

+version https://git-lfs.github.com/****/v1
+oid sha256:*****************hgxs7y726726746881e7*****
+size 96776698
  1. 为什么我在迁移 RepoA 到 GitLab 后会得到 GitHub url?
  2. 有什么方法可以删除附加到 file.tar 的 GitHub 旧 sha256 值吗?

这些是 Git LFS 使用的指针文件。由于 Git LFS 在主要 Git 数据之外存储大文件,这些文件用于定位正确的数据。

要回答问题 1,version 行中的 URL 是一个版本标识符,表示 Git LFS 规范的版本,而不是任何特定于您的存储库的版本。所有 Git LFS 文件都一样,无论它们托管在何处。

回答问题 2,您文件的 SHA-256 值没有改变。 SHA-256 是一种用于唯一标识文件的加密哈希函数。如果文件之前有一个给定的哈希值,它现在将具有相同的哈希值。

请注意,当您使用 git show 时,默认情况下它不会应用涂抹或清洁过滤器,例如 Git LFS 使用的过滤器,因此会显示 LFS 文件的指针文件。您可以通过这样做查看实际的大文件:

$ git -c diff.lfs.textconv=cat show --textconv file1.tar

但是,通常 tar 文件不是文本文件,因此将它们显示在您的终端上并不是一个好主意。