使用git restore --staged撤销你在暂存区的提交

我们通过git add命令将文件提交到暂存区之后,发现文件提交错了,就可以通过git restore --staged撤销在暂存区提交的文件。

通过实例演示一下

当前目录下有三个文件进行了修改,并提交到了暂存区。通过git ls-files命令可以查看暂存区的文件

$ ls
README.md  a.txt  main.cpp

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git add .
warning: LF will be replaced by CRLF in a.txt.
The file will have its original line endings in your working directory

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git ls-files
README.md
a.txt
main.cpp

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.md
        new file:   a.txt
        modified:   main.cpp


lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)

我们撤回暂存区的a.txt文件

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git restore --staged a.txt

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git ls-files
README.md
main.cpp

lng@DESKTOP-9TD21KL MINGW64 ~/Desktop/新建文件夹/test001/test001 (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        modified:   README.md
        modified:   main.cpp

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        a.txt

可以看到暂存区没有a.txt文件了,查看状态可以看到,a.txt文件的状态变成了未跟踪状态。

猜你喜欢

转载自blog.csdn.net/new9232/article/details/122372674