The difference between git's caret (^) and tilde (~)
paulboxley.com