Hi I am a newbie to git and I don\'t understand what is the basic difference between git reset
and git revert
. Does git revert
reverts the
Git reset -->move the tip of a branch to a different commit. This can be used to remove commits from the current branch. It moves the branch backwards by commits. Git Revert-->undoes a commit by creating a new commit. This is a safe way to undo changes, as it has no chance of re-writing the commit history.
As far as I know, they are doing totally different thing.
git revert
aimed to revert effects of previous commit. For example,
A <- B <- C
^ HEAD
If I found B I committed before is wrong, and I want to "undo" its change, git-revert
-ing B will cause:
A <- B <- C <- B'
^ HEAD
for which B'
is reversing the change done in B.
git reset
is more straight-forward, it is simply setting the HEAD to a certain commit,
A <- B <- C
^ HEAD
git-reset
-ting to B will give you
A <- B <- C
^ HEAD