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 生日广州男生祝福语简短