git

undo merge that hasn't been pushed

git reset --merge HEAD~1

roll back hard

git reset --hard <commit/tag>

set username for single repo

git config user.username 'name'

set signing key for local repo

git config user.signingkey <id>

signing commits

git commit -S -m 'msg'

making a pull request

branching and rebasing

branching model

merging and rebasing