bashbeginner

Git Aliases for Productivity

Essential git aliases and config settings to speed up daily git workflow and reduce typing.

bash
# Set up useful aliases
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
git config --global alias.lg 'log --oneline --graph --all --decorate'
git config --global alias.amend 'commit --amend --no-edit'
git config --global alias.undo 'reset --soft HEAD~1'
git config --global alias.wip 'stash save "WIP"'
git config --global alias.unwip 'stash pop'
git config --global alias.branches 'branch -a --sort=-committerdate'
git config --global alias.who 'shortlog -sn --no-merges'
git config --global alias.cleanup 'branch --merged | grep -v main | xargs git branch -d'

# Useful config settings
git config --global pull.rebase true
git config --global push.autoSetupRemote true
git config --global fetch.prune true
git config --global init.defaultBranch main
git config --global rerere.enabled true
git config --global diff.algorithm histogram
git config --global merge.conflictstyle zdiff3

# View all aliases
git config --global --get-regexp alias

# Or directly edit gitconfig
# git config --global --edit

Use Cases

  • Speeding up daily git workflow
  • Standardizing git config across team
  • Reducing typing for frequent commands

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.