Skip to content

Instantly share code, notes, and snippets.

@mkropat
Last active November 23, 2023 20:05
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkropat/473c5515477e2eb7e008 to your computer and use it in GitHub Desktop.
Save mkropat/473c5515477e2eb7e008 to your computer and use it in GitHub Desktop.
Sensible Git defaults
git config --global --replace-all --type=bool push.autoSetupRemote true
git config --global --type=bool rebase.autoStash true
git config --global --type=bool rebase.updateRefs true
git config --global core.autocrlf input
git config --global core.commentChar auto
git config --global init.defaultBranch main
git config --global pull.ff only
git config --global oh-my-zsh.hide-info 1
git config --global alias.ca 'commit --amend --no-edit'
git config --global alias.ci 'commit --verbose'
git config --global alias.dc 'diff --cached'
git config --global alias.di diff
git config --global alias.fp 'push --force-with-lease'
git config --global alias.fpstack "\!git log --decorate=short --pretty='format:%D' origin/main.. | sed 's/, /\\n/g; s/HEAD -> //' | grep -Ev '/|^$' | xargs git push --force-with-lease origin"
git config --global alias.l 'log --oneline'
git config --global alias.pullrb 'pull --rebase'
git config --global alias.rb '!f() { if [ $# -eq 0 ]; then set -- origin/main; git fetch origin main; fi && git rebase "$@"; }; f'
git config --global alias.rc 'rebase --continue'
git config --global alias.ri '!f() { if [ $# -eq 0 ]; then set -- origin/main; fi; git rebase --interactive --keep-base "$@"; }; f'
git config --global alias.st 'status --short'
git config --global alias.sw '!f() { if [ $# -gt 0 ]; then git switch "$@"; else git branch --sort=-committerdate | fzf | xargs git switch; fi; }; f'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment