我们有一个 GitLab 托管的存储库,其中包含一些我们想要删除的大型二进制文件。我知道诸如 BFG Repo-Cleaner 之类的工具会从 Git 存储库中删除文件。
我们经常在 GitLab 中引用特定的提交 ID。运行 BFG Repo-Cleaner 会搞砸这些吗?
如果是这样,是否有更好的方法来清理不会弄乱这些的回购?
我们有一个 GitLab 托管的存储库,其中包含一些我们想要删除的大型二进制文件。我知道诸如 BFG Repo-Cleaner 之类的工具会从 Git 存储库中删除文件。
我们经常在 GitLab 中引用特定的提交 ID。运行 BFG Repo-Cleaner 会搞砸这些吗?
如果是这样,是否有更好的方法来清理不会弄乱这些的回购?
我们经常在 GitLab 中引用特定的提交 ID。运行 BFG Repo-Cleaner 会搞砸这些吗?
git commit id 是根据提交内容的哈希和上一次提交的 id 构建的。这意味着任何修改您的历史记录的操作都将导致(a)您修改的任何提交的新提交 id 和(b)每个后代提交的新提交 id 。
如果不生成新的提交 ID 序列,就无法修改存储库的历史记录。
我们经常在 GitLab 中引用特定的提交 ID。
尽管在不更改所有后续提交 ID 的情况下无法修改 git 历史记录,但 BFG 做了一些有助于更改的事情:
"$newId [formerly $oldId]"
Former-commit-id:
object-id-map.old-new.txt
文件。repo-name.bfg-report
原则上,我相信这个文件可以在 GitLab 存储库中使用,以便也可以修复对提交 ID 的其他引用。全面披露:我是BFG Repo-Cleaner的作者。