https://learngitbranching.js.org/

comit – delta of changes
branch – pointer to commit and all future changes to it
rebasing – linear merge; copy all commits
HEAD – is current commit; detaching HEAD means moving from master
relative commits – ^ one at a time, ~<num> num at a time
pushed – remote branch

Commands:
git commit – create new commit
git branch <name> – create new branch git checkout <name> – switch to branch <name>
git branch -f <source> <dst> – force move branch to dst
git merge <name> – merge branch <name> to branch that is checked out as commit
git rebase <branch> – move current branch on top of <branch>
git reset HEAD~1 – reverts changes localy
git revert HEAD – revert changes globally