init submodules

git submodule update --init --recursive

adding keys

  1. Generate the key

    ssh-keygen -t rsa -b 4096 -C [email protected]

  2. Copy the key to clipboard

    clip < ~/.ssh/

  3. Start agent

    eval $(ssh-agent -s)

  4. Add key to agent ssh-add ~/.ssh/id_rsa

integrate beyond compare

# diff
git config --global diff.tool bc3
# merge
git config --global merge.tool bc3
git config --global mergetool.bc3.trustExitCode true

find your missing commit

git reflog

commit messages

A note about git commit messages

set user and email

git config --global "Firstname Lastname"
git config --global "[email protected]"

reviewing a merge commit locally

git config --add remote.origin.fetch +refs/pull/*/merge:refs/remotes/origin/pr/*
git fetch origin
git checkout pr/1234

More on