Shameless plug. I published a little guide some months ago, on how to use GPG with keybase.io to sign commits.
Link: https://github.com/pstadler/keybase-gpg-github
Discussion on HN: https://news.ycombinator.com/item?id=12289481
Link: https://github.com/pstadler/keybase-gpg-github
Discussion on HN: https://news.ycombinator.com/item?id=12289481
Now, I always merge with no fast-forward because it creates a commit for the merge that you can revert.
Then, I always pull with rebase... That will apply your changes on top of the remote ones. It may lead to conflicts but it leads to a log with less branches. The merge/diff tool I use is p4diff, which comes with P4V (Perforce visual client) and is free.To explore the git log, I use tig. https://github.com/jonas/tig
It is a curses interface to git. Screenshot: https://atlassianblog.wpengine.com/wp-content/uploads/tig-2....