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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短