To build a mental model on how git works under the hood.
In computer software engineering, revision control
is any kind of practice that tracks and
provides control over changes to source code.
A snapshot of the repository at a specific time
A branch is just a pointer to a commit
$> git init
$> git add file.txt
$> git rm file.txt
$> git checkout master
Operates on the HEAD pointer
$> git reset origin/master
Operates on the branch pointer
$> git revert 9ba31
$> git merge branchA
$> git rebase branchA