我们通过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文件的状态变成了未跟踪状态。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信