之前commit完了之后,在push的时候发现commit的东西不对,多交了一部分无关紧要的东西,想撤销commit。结果遇到很多问题,差点丢失写好的代码。
idea中的撤销commit的方法。
1。undo commit
在网上搜到的第一个方法(很坑),执行之后写好的类,代码都没了并且log里面 “弟6次提交” 也没了
如果不小心用了这个,有补救方法
这里是idea对你的代码改动的记录,你可以在这里找到丢失的东西。localhostory跟到git没多大关系。
2。revert commit
revert commit 会撤销这次提交中的东西,并且在log中生成一次新的版本
比如上图log中 弟5次提交 在项目中加入一个1.txt文件, 弟6次提交 在项目中加入一个2.txt文件
对 弟5次提交 做 revert commit 则会生成一个新的commit,这个commit中将会移除1.txt文件
3。
reset与revert commit的不同在于reset会使 弟6次提交 在log消失,且不会生成新的commit
reset中的四个选项:
soft,撤销commit但是你的代码,新增文件不会消失,那些东西将继续留在暂存区。相当于执行了add操作
Mixed 撤销commit但是你的代码,新增文件不会消失,那些东西将不会留在暂存区。相当于写好东西还没add
Hard 撤销commit但是你的代码,新增文件将会消失,项目会回到上个版本。
以上是我的浅薄理解,如有错误欢迎指正。