[英]Delete or remove all history, commits, and branches from a remote Git repo?
[英]git remove file and history from all branches
一年多以前,我已經在gitlab上創建了一個私有存儲庫,並且隨着時間的推移,該回購協議已經有了一定的增長。 事后看來,我的一個錯誤是在存儲庫中放入了一些大的二進制文件。 我不了解git-lfs
,現在回購已大大增加。
所以我認為可能的方法是:
git-lfs
(同樣在所有分支上都啟用)。 情況是,我在存儲庫中有很多活動分支。 有沒有辦法用最少的命令在所有分支上做到這一點?
當然,另一種方式是存檔此倉庫,然后從頭開始在一個全新的存儲庫中啟用git-lfs
並手動添加所有內容。 但是,鑒於分支機構的數量,這似乎又是乏味的。
git lfs import
命令將自動執行此操作。 它將重寫每個分支以刪除大文件:
git lfs migrate import --everything
將在歷史記錄中定位所有大文件,並重寫每個分支以將hem設置為LFS對象,而不是將大文件直接保留在Git中。
如果要標識要導入的大文件:
git lfs migrate import --everything --include='*.dat'
無論大小如何,都將遷移所有以.dat
結尾的文件。
如果您的存儲庫中有幾個人在工作,我建議您仔細計划遷移 ,因為最終您將需要強制推送您重寫的分支。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.