1. 使用命令行回滚工作区的修改(回滚文件的修改)
可能有一天我正在写代码,写了很久发现写错了,想恢复到一开始的状态,一个笨办法就是把刚刚写的代码一行一行的删除,不过这种方式成本太高,我们可以通过命令来回滚
工作区的代码修改:
$ git checkout HEAD <file>
$ git checkout -- <file>
测试:
① Test.java文件内容:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
② 在Test.java文件中添加两行代码:
public class Test {
public static void main(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文件内容恢复到未修改之前的状态:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
2. 使用命令回滚暂存区的修改
如果想要回滚,但是代码已经提交到暂存区了,不用担心,也能回滚,分两个步骤:
第1步:将暂存区的代码回滚到工作区
$ git reset HEAD
第2步:将工作区的代码回滚
$ git checkout -- <file>
测试:
① Test.java文件内容:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
② 在Test.java文件中添加两行代码:
public class Test {
public static void main(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 add 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
⑤ 回滚后代码状态仍然是修改后的状态:
public class Test {
public static void main(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文件内容恢复到未修改之前的状态:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
3. 基于IDEA回滚工作区的修改
① Test.java文件内容:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
② 在Test.java文件中添加两行代码:
public class Test {
public static void main(String[] args) {
System.out.println();
System.out.println("我是添加的代码1");
System.out.println("我是添加的代码2");
}
}
③ 此时这些代码还在工作区,并没添加到暂存区,想要回滚对当前Test.java文件的修改:
点击 IDEA 右上角的回滚按钮
然后点击Rollback按钮:
④ 执行命令后,Test.java文件内容恢复到未修改之前的状态:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
4. 基于IDEA回滚暂存区的修改
① Test.java文件内容:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
② 在Test.java文件中添加两行代码:
public class Test {
public static void main(String[] args) {
System.out.println();
System.out.println("我是添加的代码1");
System.out.println("我是添加的代码2");
}
}
③ 此时这些代码还在工作区,并没添加到暂存区,想要回滚对当前Test.java文件的修改:
④ 执行命令后,Test.java文件内容恢复到未修改之前的状态:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
5. 基于IDEA回滚暂存区和工作区的修改
① Test.java文件内容:
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
② 在Test.java文件中添加两行代码:
public class Test {
public static void main(String[] args) {
System.out.println();
System.out.println("我是添加的代码1");
System.out.println("我是添加的代码2");
}
}
③ 将文件的修改添加到暂存区:
④ 将工作区和暂存区的修改回滚:
方式1:点击 IDEA 右上角的回滚按钮
方式2:鼠标右键点击Rollback
然后点击 Rollback :文章来源:https://www.toymoban.com/news/detail-404020.html
⑤ Test.java文件内容恢复到未修改之前的状态:文章来源地址https://www.toymoban.com/news/detail-404020.html
public class Test {
public static void main(String[] args) {
System.out.println();
}
}
到了这里,关于Git - 基于IDEA/命令回滚工作区和暂存区的修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!