What is the difference between git reset and git revert?
`git revert` creates a new commit that undoes a previous one, leaving history intact — it is safe to use on branches others have pulled. `git reset` moves the branch pointer backward and can discard commits, so it is meant for local history you have not shared yet.