A little easier version of Git Flow.
A relative complex process to use git with multiple teams.
Update your development branch from another branch (main)
git pull --rebase origin main
Undo changes from from commit X and keep Theme
git reset --soft COMMIT-ID
Undo last commit and keep changes
git reset --soft HEAD^1