Skip to content

Instantly share code, notes, and snippets.

@vjandrea
Last active December 29, 2025 10:01
Show Gist options
  • Select an option

  • Save vjandrea/f2d4d6f1fddd9f24952e3cfe6258f083 to your computer and use it in GitHub Desktop.

Select an option

Save vjandrea/f2d4d6f1fddd9f24952e3cfe6258f083 to your computer and use it in GitHub Desktop.
git-config.sh
#!/bin/sh
# ALIASES
git config --global alias.a "add ."
git config --global alias.fa "fetch --all --verbose"
git config --global alias.l "log --pretty=format:'%C(auto,yellow)%h%C(auto,magenta)% %C(auto,blue)%>(12,trunc)%ad %C(auto,green)%<(7,trunc)%aN%C(auto,reset)%s%C(auto,red)% %C(auto)%gD %D' --date=relative --decorate -20"
git config --global alias.last "log --oneline -1"
git config --global alias.refs "for-each-ref --format='%(if)%(HEAD)%(then)* %(else) %(end)%(color:blue)%(refname:short)%(color:reset) %(color:yellow)%(upstream:track)%(color:reset) %(color:cyan)%(upstream:remotename)%(color:reset)' refs/heads"
git config --global alias.s "status -s -b"
git config --global alias.list-gone '!git branch -vv | grep ": gone]"'
git config --global alias.prune-gone '!git branch -vv | grep ": gone]" | awk "{print \$1}" | xargs -r -n 1 git branch -D'
git config --global alias.hide 'update-index --assume-unchanged'
git config --global alias.unhide 'update-index --no-assume-unchanged'
git config --global alias.hidden '!git ls-files -v|grep "^h"|cut -c3-'
git config --global alias.unhide-all '!git ls-files -v | grep "^[a-z]" | cut -c3- | xargs git unhide --'
# CORE
git config --global branch.autoSetupMerge "simple"
git config --global core.editor "vim"
git config --global core.pager "less -FRX"
git config --global init.defaultbranch main
git config --global merge.ff only
git config --global push.autosetupremote true
git config --global rerere.enabled true
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment