文章目录
1. 使用命令行回滚工作区的修改(回滚文件的修改)
可能有一天我正在写代码,写了很久发现写错了,想恢复到一开始的状态,一个笨办法就是把刚刚写的代码一行一行的删除,不过这种方式成本太高,我们可以通过命令来回滚
工作区的代码修改:
$ git checkout HEAD <file>
$ git checkout -- <file>
测试:
① Test.java文件内容:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
② 在Test.java文件中添加两行代码:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();System.out.println("我是添加的代码1");System.out.println("我是添加的代码2");}}
③ 此时这些代码还在工作区,并没添加到暂存区,想要回滚对当前Test.java文件的修改,执行命令:
User@6-cpgh0012 MINGW64 /d/mycode/company_frame/company_member/src/main/java/com/yingxue/lesson (feature-test)
$ git checkout -- Test.java
④ 执行命令后,Test.java文件内容恢复到未修改之前的状态:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
2. 使用命令回滚暂存区的修改
如果想要回滚,但是代码已经提交到暂存区了,不用担心,也能回滚,分两个步骤:
第1步:将暂存区的代码回滚到工作区
$ git reset HEAD
第2步:将工作区的代码回滚
$ git checkout -- <file>
测试:
① Test.java文件内容:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
② 在Test.java文件中添加两行代码:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();System.out.println("我是添加的代码1");System.out.println("我是添加的代码2");}}
③ 将当前文件的修改添加到暂存区:
User@6-cpgh0012 MINGW64 /d/mycode/company_frame/company_member/src/main/java/com/yingxue/lesson (feature-test)
$ gitadd Test.java
④ 将暂存区的修改回滚到工作区:
User@6-cpgh0012 MINGW64 /d/mycode/company_frame/company_member/src/main/java/com/yingxue/lesson (feature-test)
$ git reset HEAD
Unstaged changes after reset:
M src/main/java/com/yingxue/lesson/Test.java
⑤ 回滚后代码状态仍然是修改后的状态:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();System.out.println("我是添加的代码1");System.out.println("我是添加的代码2");}}
⑥ 将工作区的修改回滚:
User@6-cpgh0012 MINGW64 /d/mycode/company_frame/company_member/src/main/java/com/yingxue/lesson (feature-test)
$ git checkout -- Test.java
⑦ 执行以上命令后,Test.java文件内容恢复到未修改之前的状态:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
3. 基于IDEA回滚工作区的修改
① Test.java文件内容:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
② 在Test.java文件中添加两行代码:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();System.out.println("我是添加的代码1");System.out.println("我是添加的代码2");}}
③ 此时这些代码还在工作区,并没添加到暂存区,想要回滚对当前Test.java文件的修改:
点击 IDEA 右上角的回滚按钮
然后点击Rollback按钮:
④ 执行命令后,Test.java文件内容恢复到未修改之前的状态:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
4. 基于IDEA回滚暂存区的修改
① Test.java文件内容:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
② 在Test.java文件中添加两行代码:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();System.out.println("我是添加的代码1");System.out.println("我是添加的代码2");}}
③ 此时这些代码还在工作区,并没添加到暂存区,想要回滚对当前Test.java文件的修改:
④ 执行命令后,Test.java文件内容恢复到未修改之前的状态:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
5. 基于IDEA回滚暂存区和工作区的修改
① Test.java文件内容:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
② 在Test.java文件中添加两行代码:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();System.out.println("我是添加的代码1");System.out.println("我是添加的代码2");}}
③ 将文件的修改添加到暂存区:
④ 将工作区和暂存区的修改回滚:
方式1:点击 IDEA 右上角的回滚按钮
方式2:鼠标右键点击Rollback
然后点击 Rollback :
⑤ Test.java文件内容恢复到未修改之前的状态:
publicclassTest{publicstaticvoidmain(String[] args){System.out.println();}}
版权归原作者 我一直在流浪 所有, 如有侵权,请联系我们删除。