[英]Why gitlab Storage is quite bigger than downloaded with git clone?
您已經執行了 GitLab 建議中的第一步。 以下步驟來自他們關於如何從 GitLab 存儲中清除文件的文檔。
這將是一個破壞性的行動。 您正在重寫存儲庫歷史記錄。
從步驟 2 下載導出。
解壓導出: tar xzf backup.tar.gz
這將包含一個由git bundle
創建的project.bundle
從包中克隆一個新的存儲庫副本: git clone --bar --mirror /path/to/project.bundle
使用之前安裝的git filter-repo
,清除存儲庫歷史記錄中的所有文件。 GitLab 提供了幾個示例命令。
To purge all large files, you will want to use `--strip-blobs-bigger-than`. This example reports files larger than 10 megabytes: `git filter-repo --strip-blobs-bigger-than 10M` To purge specific files by path, you can combine both `--path` and `--invert-path`: `git filter-repo --path path/to/large.mp4` --invert-paths
從克隆project.bundle
設置origin
遠程到本地包文件。 這是不想要的,所以刪除這個origin
remote 並將其重置到您的存儲庫。
git remote remove origin git remote add origin http://gitlab.example.com/<namespace>/<repository>.git
強制將更改推送到存儲庫。 這將覆蓋所有分支。 如果您有受保護的分支,則需要先移除分支保護,運行以下命令,然后重新啟用受保護的分支。
git push origin --force 'refs/heads/*'
如果您有大型標記版本,您還需要強制推送所有標記的更改。 如果您有受保護的標簽,則需要先移除標簽保護,運行以下命令,然后重新啟用受保護的標簽。
git push origin --force 'refs/tags/*'
防止已刪除提交的死鏈接,運行以下命令:
git push origin --force 'refs/replace/*'
在您的存儲庫項目頁面中,導航到Settings->Repository
上傳由git filter-repo
命令創建的commit-map
。 GitLab 將此限制為每個文件 10M,但如果需要,您可以將其拆分並逐個上傳。
點擊Start Cleanup
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.