0


Git - 基于IDEA/命令回滚工作区和暂存区的修改

文章目录

在这里插入图片描述

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();}}
标签: intellij-idea git java

本文转载自: https://blog.csdn.net/qq_42764468/article/details/126430224
版权归原作者 我一直在流浪 所有, 如有侵权,请联系我们删除。

“Git - 基于IDEA/命令回滚工作区和暂存区的修改”的评论:

还没有评论