For advanced git commands training
You can make any training in test branch
To make a commit you need to do 3 steps:
git reset --soft # resets #3 only git reset (--mixed) # resets #3 and #2 git reset --hard # resets all #3, #2 and #1
git rebase <hash> # rebase using commits's hash git rebase -i HEAD~n # interactive rebase for last n commits
~n # follows straight history in one branch ^ = ^1 # first parent ^n # n parent ^^^2 # first parent/first parent/second parent
To practice referencing checkout "merge" branch and use some command to see what commints are referenced.
git log --oneline -1 HEAD~4 git log --oneline -1 HEAD~4^2^ etc...