git revert与git reset

git revert与git reset

共同点:此次提交的代码会被退回到暂存区

不同点:

  git revert:撤销某次操作,用新的commit去标记旧的commit失效,即抵消操作。git log中会有一次提交的commit,有一次撤销提交的commit

  git reset:撤销某次提交,将HEAD回退,即删除新的commit。git log中没有新的commit

注:日后继续merge以前的老版本时,因为git revert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现。

  git reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。

  在平时的编码中,习惯用reset。免得误提交操作,或者不小心用了git revert,可以用git reset一直撤销提交。

原文地址:https://www.cnblogs.com/July74/p/5330025.html