I maintain a bunch of git aliases in my .gitconfig for my company's rebase based workflow. They cover 90% of my 'dumb' git usages
synced = pull origin master --rebase. # Update myself with master
squash = rebase -i origin/master # Let me optionally squash whatever has happened since master
publish = push origin HEAD --force-with-lease # Save to orig in (github)
pub = push origin HEAD --force-with-lease # Save to origin (github)
ammend = commit --amend # I cannot spell this word for the life of me
amend = commit --amend
I used to use aliases but got frustrated with them when dealing with PRs depending on PRs, so I wrote git-stack [0]. Thought I'd share in case you'd find it useful