My Git Aliases
Git Config Commands
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.dt difftool
git config --global alias.mt mergetool
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
git config --global alias.lol "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short"
git config --global alias.lola "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short --all"
git config --global alias.fpull 'pull --ff-only --all --prune'
git config --global alias.publish '!git push -u origin $(git symbolic-ref --short HEAD)'
git config --global alias.unpublish '!git push origin --delete $(git symbolic-ref --short HEAD)'
git config --global alias.spush 'push --recurse-submodules=on-demand'
git config --global alias.sdiff "!git diff && git submodule foreach 'git diff'"
git config --global alias.supdate 'submodule update --remote --rebase'
git config --global alias.alias 'config --get-regexp ^alias\.'
git config --global alias.smerge 'merge --squash'
git config --global alias.amend '!git add . && git commit --amend --no-edit && git push -f'
alias a='git add -u'
function ci() {
git commit -m "$*" && git push origin main
}
alias p='git push'
alias c="claude --dangerously-skip-permissions"
alias cc="claude --dangerously-skip-permissions --continue"
alias ccc="claude --dangerously-skip-permissions --continue --chrome"
alias cr="claude --dangerously-skip-permissions --resume"
alias claude="claude --dangerously-skip-permissions" One-liner to add to ~/.zshrc
echo '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.dt difftool
git config --global alias.mt mergetool
git config --global alias.unstage '\''reset HEAD --'\''
git config --global alias.last '\''log -1 HEAD'\''
git config --global alias.lol "log --pretty=format:'\''%h %ad | %s%d [%an]'\'' --graph --date=short"
git config --global alias.lola "log --pretty=format:'\''%h %ad | %s%d [%an]'\'' --graph --date=short --all"
git config --global alias.fpull '\''pull --ff-only --all --prune'\''
git config --global alias.publish '\''!git push -u origin $(git symbolic-ref --short HEAD)'\''
git config --global alias.unpublish '\''!git push origin --delete $(git symbolic-ref --short HEAD)'\''
git config --global alias.spush '\''push --recurse-submodules=on-demand'\''
git config --global alias.sdiff "!git diff && git submodule foreach '\''git diff'\''"
git config --global alias.supdate '\''submodule update --remote --rebase'\''
git config --global alias.alias '\''config --get-regexp ^alias\.'\''
git config --global alias.smerge '\''merge --squash'\''
git config --global alias.amend '\''!git add . && git commit --amend --no-edit && git push -f'\''
alias a='\''git add -u'\''
function ci() {
git commit -m "$*" && git push origin main
}
alias p='\''git push'\''
alias c="claude --dangerously-skip-permissions"
alias cc="claude --dangerously-skip-permissions --continue"
alias ccc="claude --dangerously-skip-permissions --continue --chrome"
alias cr="claude --dangerously-skip-permissions --resume"
alias claude="claude --dangerously-skip-permissions"' >> ~/.zshrc && source ~/.zshrc