user
10/20/2021, 11:45 AMreset
moves the branch to point at another commit. The new branch history is the history of that commit. So if your history is A---B---C, the branch points at C. If you reset it to B then the new history is A--B. If you reset to a completely random unrelated commit D, your branch history is whatever it was at D.
revert
is different: it applies a new commit that undoes a previous commit. So if your history is A--B--C and you revert C (not "_to_ C", just "C") then you get a new history A--B--C--anti_C where anti_C is a new commit that exactly reverses the changes of C. If you examine the contents of the files they look exactly the same as they did in B, but you did something very different -- and you have history to prove it!
You can also revert a commit before C. So if your history is A--B--C, you can revert B. Assuming there are no conflicts, your history is now A--B--C--anti_B, so you see all the changes of A and all the changes of C, with none of the changes of B. This also explains why there may be conflicts: if B modified a file and then C modified that same file, then there is a conflict and B cannot be reverted.
BUT you cannot revert something that does not appear in your history! So we do not allow reverting an unrelated commit D.
Hope this makes some sense!