小編最近工作上遇到了大 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 remote -v」的推薦目錄:
- 關於git remote -v 在 Kewang 的資訊進化論 Facebook 的最讚貼文
- 關於git remote -v 在 Day26【Git與GitHub】git remote 遠端數據庫 - iT 邦幫忙 的評價
- 關於git remote -v 在 [第二週]Git 本地端連結遠端操作(GitHub) - MiaHsu 的評價
- 關於git remote -v 在 Pushing commits to a remote repository - GitHub Docs 的評價
- 關於git remote -v 在 【狀況題】聽說git push -f 這個指令很可怕,什麼情況可以用它 ... 的評價
- 關於git remote -v 在 Git - 刪除遠端分支(以GitHub、GitLab 為例) - Titangene Blog 的評價
- 關於git remote -v 在 AWS CodeCommit with git-remote-codecommit - Stack Overflow 的評價
- 關於git remote -v 在 Git 學習手冊#8 Remote:GitHub - JQnets 甲寬網路科技 的評價
- 關於git remote -v 在 Git Push to GitHub - W3Schools 的評價
- 關於git remote -v 在 Git 版本控制筆記- 使用github 及ssh 金鑰設定 的評價
- 關於git remote -v 在 How to push new Git branches to remote repos on GitHub or ... 的評價
- 關於git remote -v 在 How to Push an Existing Project to GitHub - DigitalOcean 的評價
- 關於git remote -v 在 GitHub 設定指引 - 成大資工Wiki 的評價
- 關於git remote -v 在 Start a new git repository - Karl Broman 的評價
- 關於git remote -v 在 git clone from https URL fails, says it's 'remote-https' is not a git ... 的評價
- 關於git remote -v 在 How to View the Remote URL a Github Repository Was ... 的評價
- 關於git remote -v 在 Git Push - Pushing Changes to GitHub - Tools QA 的評價
- 關於git remote -v 在 git branch 使用與merge學習 - KueiBlog 的評價
- 關於git remote -v 在 Eslint Github 的評價
git remote -v 在 [第二週]Git 本地端連結遠端操作(GitHub) - MiaHsu 的推薦與評價
這邊有兩種方式開始專案,其實最主要的是最後兩行指令,將檔案加入到GitHub。 git remote. 與遠端檔案庫(remote repo)操作有關的指令; 加入遠端節點: $ ... ... <看更多>
git remote -v 在 Pushing commits to a remote repository - GitHub Docs 的推薦與評價
Use git push to push commits made on your local branch to a remote repository. ... <看更多>
git remote -v 在 Day26【Git與GitHub】git remote 遠端數據庫 - iT 邦幫忙 的推薦與評價
哈嘍,大家好. 今天要來學習 推送分支到遠端數據庫. 還記得Day17【Git與GitHub】git push 到GitHub 有講到如何push 到遠端數據庫。 那今天要學習較詳細呢內容兒~. ... <看更多>