git revert和git reset的区别详解
gitrevert和gitreset的区别
gitrevert是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留
gitreset是回到某次提交,提交及之前的commit都会被保留,但是此次之后的修改都会被退回到暂存区
具体一个例子,假设有三个commit,gitst:
commit3:addtest3.c
commit2:addtest2.c
commit1:addtest1.c
当执行gitrevertHEAD~1时,commit2被撤销了
gitlog可以看到:
revert"commit2":thisrevertscommit5fe21s2...
commit3:addtest3.c
commit2:addtest2.c
commit1:addtest1.c
gitstatus没有任何变化
如果换做执行gitreset--soft(默认)HEAD~1后,运行gitlog
commit2:addtest2.c
commit1:addtest1.c
运行gitstatus,则test3.c处于暂存区,准备提交。
如果换做执行gitreset--hardHEAD~1后,
显示:HEADisnowatcommit2,运行gitlog
commit2:addtest2.c
commit1:addtest1.c
运行gitst,没有任何变化
另外:
gitrevert
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短