git revert和git reset的区别
-
其二者最大的区别是git revert是用新的一个commit来回滚之前的commit,HEAD是要继续前进,但是git reset是直接删除指定的HEAD,其是相当于在不断后退
-
对于git reset--hard和git reset--soft ,前者会直接删除掉目标HEAD之后所有的操作,且工作区和暂存区都会修改
- 而对于git reset--soft,,该命令会将工作区的文件回退到目标版本,但是不会改变暂存区的状态。
- 在 Git里撤销变更的方法很多。和提交一样,撤销变更由底层部分(暂存区的独立文件或者片段)和上层部分(变更到底是通过哪种方式被撤销的)组成。我们这个应用主要关注的是后者。
主要有两种方法用来撤销变更 —— 一是 git reset,还有就是 git revert。接下来咱们逐个进行讲解。git reset通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。
WX20190131-003247@2x.png
WX20190131-003150@2x.png
网友评论