小編最近工作上遇到了大 git repo 的問題,因為 repo 的 history 殘留了許多不必要的內容,像是 logback 的 log、可執行的 jar 檔、測試用的圖檔...等,所以現在的 repo 已經大到 630MB,小編就使用 bfg 將 repo 縮小到只剩 30 MB 左右。
會發現這件事是因為最近在 Jenkins 上面 build 的時候,clone 的時間都花超久,後來才發現原來 repo 太大了 Orz,大家記得不必要的檔案要刪除啊。
執行步驟如下:
1. 下載 bfg
2. 列出檔案最大的前 n 名:git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -50 | awk '{print$1}')"
3. 操作 bare repo:git clone --mirror git://example.com/some-big-repo.git,因為 bfg 會直接操作 bare repo
4. 刪除大檔:bfg --delete-files big-file-*.* some-big-repo.git
5. 壓縮 repo:git reflog expire --expire=now --all && git gc --prune=now --aggressive
6. 上傳回 remote repo:git push
7. 記得請其他開發者先備份 local repo,然後重新 clone 一次 repo。注意:千萬別直接 pull,然後又 push,因為這樣做的話就會把 local repo 的 history 又 push 一次了,這樣子前面的動作就完全沒有用。所以全部的開發者都要重新 clone
8. 快快樂樂使用 repo
BFG Repo-Cleaner:https://rtyley.github.io/bfg-repo-cleaner/
#git #bfg
git clone下載 在 軟體開發學習資訊分享 Facebook 的最佳解答
https://github.com/qiaoxueshi/WWDC_2013_Video_Subtitle , 有這個看WWDC 2013的video會輕鬆很多, WWDC 2013的video還有熱心的programmer寫成一支程式讓你一次下載, --> git clone https://github.com/zadr/WWDCDownloader.git , 但是必須自己用Xcode 5 build
git clone下載 在 Will 保哥的技術交流中心- 要下載一個超多版本的Git 儲存庫 的美食出口停車場
要下載一個超多版本的Git 儲存庫,可以透過git clone 外加--depth=n 參數,限制要複製回來的歷史版本數,這個技巧同時可以大幅降低網路傳輸的資料量, ... ... <看更多>
git clone下載 在 git clone | 克隆gitlab 專案教程文件| sourcetree 同步最新版本 的美食出口停車場
Gamma Ray 軟體工作室提供之教程文件放置在gitlab 站台上https://gitlab.com/GammaRayStudio/DevDoc 想要從gitlab 下載 專案有兩種方式: 第一種, ... ... <看更多>