gitlab重寫歷史,清理歷史大檔案

2022-06-30 09:57:13 字數 1171 閱讀 8281

1.匯出gitlab上原倉庫作為備份。

2.轉殖遠端倉庫**

3.拉取倉庫的所有分支

git branch -r | grep -v '\->' | while read remote;do git branch --track 

"$" "$remote";done

git branch

git tag

git fetch --all

git pull --all

[4.]查詢歷史大檔案(若是知道具體的大檔案,不需要查)

將最大的10個檔案查詢出來:

git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx 

| sort -k 3 -n | tail -10 | awk '')"

4.處理記錄

git filter-branch --force --index-filter '

5.**空間

git for-each-ref --format='

delete %(refname)

' refs/original | git update-ref --stdin

rm -rf .git/refs/original/

git reflog expire --expire=now --all

git gc --prune=now

git gc --aggressive --prune=now

6.刪除原倉庫,新建原倉庫的同名倉庫,重新關聯已清理的倉庫,直接推送。

至此,垃圾清理完成。

注意:下次開發時需要重新拉取git倉庫上的**,否則還會引入之前大檔案的歷史記錄。

gitLab清理大檔案 包括歷史記錄中的大檔案

操作 專案中經常有不小心提交的大檔案,這個就是清理方法 後面發現了更好的方法 使用bfg快速清理git歷史大檔案 注意 清理完之後,其他人一定要刪掉之前拉取的專案,重新從git上拉專案,不要使用之前的專案了,之前的專案中的.git檔案會將已將刪除的檔案重新加進來,甚至變的更大 查詢 清理檔案的時候若...

gitlab 安裝 歷史版本 CentOS 7

系統 centos 7 gitlab 安裝最新版本請參考官方安裝說明 歷史版本查詢位址 安裝步驟 1 安裝和配置必要的依賴項 2 安裝wget yum install wget wget content disposition packages el 7 gitlab ce 13.1.0 ce.0....

CMD命令清理電腦歷史快取和Cookies

使用方法 清除internet臨時檔案 rundll32.exe inetcpl.cpl,clearmytracksbyprocess 8 清除cookies rundll32.exe inetcpl.cpl,clearmytracksbyprocess 2 清除歷史記錄 rundll32.exe ...