我們在工作中有一個GitLab託管的回購站,其中包含一些我們想要移除的大型二進制文件。我知道諸如BFG Repo-Cleaner這樣的工具,它將從Git存儲庫中刪除文件。永久刪除GitLab回收站中的二進制文件
我們經常在GitLab中引用特定的提交ID。運行BFG Repo-Cleaner會搞砸嗎?
如果是這樣,是否有更好的方法來清理回購,不會搞砸這些?
我們在工作中有一個GitLab託管的回購站,其中包含一些我們想要移除的大型二進制文件。我知道諸如BFG Repo-Cleaner這樣的工具,它將從Git存儲庫中刪除文件。永久刪除GitLab回收站中的二進制文件
我們經常在GitLab中引用特定的提交ID。運行BFG Repo-Cleaner會搞砸嗎?
如果是這樣,是否有更好的方法來清理回購,不會搞砸這些?
我們經常在GitLab中引用特定的提交ID。
雖然git的歷史不能在不改變所有後續提交ID來修改,BFG做了幾件事情,將與變化幫助:
"$newId [formerly $oldId]"
,此外,Former-commit-id:
頁腳將會被添加到all modified commit messages的底部。repo-name.bfg-report
目錄下創建一個object-id-map.old-new.txt
文件。原則上,我相信這個文件可以在GitLab倉庫中使用,以便其他對commit id的引用也可以修復。完全披露:我是BFG Repo-Cleaner的作者。
我們經常在GitLab中引用特定的提交ID。運行BFG Repo-Cleaner會搞砸嗎?
git commit id是從提交內容的哈希值和前一次提交的id構建而成的。這意味着修改歷史的任何操作都會導致(a)您修改的任何提交的新提交標識和(b)每個後代提交的新提交標識。
如果不生成新的提交ID序列,則無法修改存儲庫的歷史記錄。