在工作区修改代码时,如果发现修改错误了,想回到修改之前的状态,就可以使用git restore命令
我们举个例子看一下:
工作区有两个文件,文件内容如下
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ ls
README.md main.cpp
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat main.cpp
#include <stdio.h>
int main()
{
printf("this is first code");
return 0;
}
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat README.md
this is readme
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$
我们对文件内容作修改,修改后,文件内容如下
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ ls
README.md main.cpp
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat main.cpp
#include <stdio.h>
int main()
{
int num = 10;
printf("num = %d\n", num);
return 0;
}
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat README.md
welcome to China
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$
使用git status看下状态
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
modified: main.cpp
no changes added to commit (use "git add" and/or "git commit -a")
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$
如果我们不想保留修改的内容,就可以使用git restore filename撤销在工作区的修改
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git restore README.md
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ ls
README.md main.cpp
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat README.md
this is readme
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git restore main.cpp
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ cat main.cpp
#include <stdio.h>
int main()
{
printf("this is first code");
return 0;
}
lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$
可以看到,代码已经回退到我们修改之前的状态了。
也可以使用git restore .命令撤销工作区的所有文件的修改,但是要慎用。
本文介绍了如何使用Git的restore命令来撤销工作区中的文件修改。通过示例展示了当代码修改错误时,如何回退到修改前的状态,从而保持代码的原始状态。提醒在使用gitrestore.撤销所有文件修改时需谨慎。

659

被折叠的 条评论
为什么被折叠?



