seems like i gotta learn to work with others ...
git switch (to-branch)
head is usually on a branch
git checkout (commit-hash)
now it's on a commit (detached)
git branch (new-branch)
does not move head, move with switch OR use git switch --create
git merge (from-otherbranch)
creates a new commit that merges the from-branch into the current one (2 parents)
git rebase (onto-branch)
moves all commits of the current branch onto the specified branch - sequencial (1 parent)
git reset (to-commit)
clears commits after
git revert (commit)
add a new commit reversing the specified one
remove the file from staging but keep changes
git restore