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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短