Git | 删除文件

Appleex
Appleex
发布于 2026-01-03 / 0 阅读
0
0

Git 删除文件

简介

参考 git-scm git rm
https://git-scm.com/docs/git-rm
git rm 命令
https://www.yiibai.com/git/git_rm.html

git rmgit rm --cached 的区别

git rm同时从工作区和索引中删除文件。即本地的文件也被删除了。

git rm --cached从索引中删除文件。但是本地文件还存在,只是不希望这个文件被版本控制。

举例说明:

假设如有版本库如下,

使用 git rm text1.txt 删除 text1.txt 之后,索引和本地文件都被删除了,如下图所示:

使用 git rm --cached text1.txt 把文件 text1.txt 从 git 的索引库中移除,但是对文件 text1.txt 本身并不进行任何操作,如下图所示:

git rmrm 的区别

git rm: 来删除文件,同时还会将这个删除操作记录下来;

rm: 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除;

提示:即使你已经通过 rm 将某个文件删除掉了,也可以再通过 git rm 命令重新将该文件从 git 的记录中删除掉。

注意:上述操作最后要执行 git commit 才真正提交到 git 仓库

使用教程

基本用法

git rm -r --cached <file>... 

命令说明:

名称 描述
git rm 删除文件或者目录
-r 当删除目录时,进行级联删除。
–cached 只删除暂存区的文件或者目录,同时删除当前工作目录和暂存区的文件或者目录。
file 要删除的文件或目录,以空格隔开填写多个,文件名支持通配符。

使用示例

同时删除当前工作目录和暂存区的文件或者目录

git rm <file>  
git rm -r <path>

只删除暂存区的文件或者目录

git rm --cache <file>  
git rm -r --cache <path>

操作指南

删除远程仓库文件或目录

直接删除法

直接删除指定的文件或者目录(适用于要删除的文件数量比较小的情况)。

git rm -r --cached demo 
git commit -m '删除 demo 文件夹'
git push -u origin master

过滤删除法

在工程的根目录下添加 .gitignore 文件,将不需要的文件过滤掉,然后执行命令。该操作的原理是将暂存区中的所有文件删除,然后通过 git add . 命令将经过 .gitignore 文件过滤的文件添加到暂存区。该方法适用于大批量删除文件。

git rm -r --cached .
git add .
git commit
git push  -u origin master

最后我们也可以通过 git rm --help 命令了解更详细的用法。

参考资料


评论