一文带你搞懂,git reset 和 revert区别

没有晦涩难懂的定义!全自己总结,直接上区别。

1、reset是彻底回退到指定的commit版本,该commit后的所有commit都将被清除;而revert仅是撤销指定commit的修改,并不影响后续的commit。


2、reset执行后不会产生记录,revert执行后会产生记录。

举个开发中的常见的实际栗子:

比如说按时间顺序提交的 a b c 版本,reset到a,那么b c的改动都会被改掉。
但revert到a,只会a的改动,而b c不动,所以revert不会引起历史提交的变更。

学会了吗~做道题练一下把

取消版本库中commitId为a1234的提交,而且不能引起历史提交的变更,用什么操作(C)
A、git reset --hard a1234
B、git rebase -i a1234
C、git revert a1234
D、git checkout a1234

看红色加粗的字体,就是为什么这道题选C

你可能感兴趣的:(git,github)