| Tool | Description |
|---|---|
| Gitbutler | The GitButler version control client, backed by Git |
| Gnosis | AI-powered PR review tool that groups changes logically and presents them as guided slideshows. Supports Claude and Gemini with interactive reviews and custom instructions. |
Articles/Talks
Large files
List the total size of HEAD
git ls-tree -r --long HEAD | awk '{sum+=$1} END {print sum}'Check the repo’s size and the number of objects
git count-objects -vHSearch large files from history
Search large files
git rev-list --objects --all \
| git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' \
| awk '/^blob/ {print substr($0,6)}' \
| sort --numeric-sort --key=2 \
| cut --complement --characters=13-40 \
| numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearestUse bfg for use with large files.
# Find the largest files in .git:
git rev-list --objects --all | grep -f <(git verify-pack -v .git/objects/pack/*.idx| sort -k 3 -n | cut -f 1 -d " " | tail -10)
# To remove all blobs from history, whose size is superior to 100Mb
# Execute the previous command for see the results
bfg -b 100M
# Execute this commands below for erase commits and old files
git reflog expire --expire=now --all
git gc --prune=now --aggressive
# Push changes
git push origin <your_branch_name> --force