1. git rm
命令作用
git rm
用于 从 Git 索引(暂存区)和工作目录中删除文件 。
执行后,文件会被标记为删除,下一次提交时该删除会被记录。
简单来说:
- 文件从版本库(Git 管理)中删除
- 文件同时从本地工作区(磁盘)删除
2. 常用参数说明
参数 | 作用 |
---|---|
--cached |
只从暂存区删除文件,保留本地文件 |
-r |
递归删除目录 |
-f |
强制删除(用于删除修改过且未暂存的文件) |
3. 基本用法示例
(1)删除单个文件(工作区 + 暂存区)
bash
git rm filename.txt
php
19 Bytes
© 菜鸟-创作你的创作
执行后,filename.txt
从 Git 索引和磁盘都被删除。
(2)仅从 Git 索引删除,保留本地文件
bash
git rm --cached filename.txt
php
28 Bytes
© 菜鸟-创作你的创作
- 文件会从版本库中删除,但本地磁盘仍然存在。
- 常用于停止跟踪某个文件但不删除本地文件。
(3)删除目录(递归)
bash
git rm -r foldername/
php
21 Bytes
© 菜鸟-创作你的创作
- 删除整个目录及其内容。
(4)强制删除(有修改未暂存)
bash
git rm -f filename.txt
php
22 Bytes
© 菜鸟-创作你的创作
- 如果文件被修改但未加入暂存区,
git rm
会拒绝删除,需用-f
强制。
4. 使用场景
- 删除不需要的文件或目录
- 从版本控制中移除敏感信息(比如配置文件)
- 停止跟踪某些文件 (配合
.gitignore
使用时,先git rm --cached
)
5. 删除文件后需要提交
sql
git commit -m "Remove filename.txt"
php
35 Bytes
© 菜鸟-创作你的创作
否则删除操作只在暂存区,不会永久生效。
6. 注意事项
git rm
会删除本地文件,操作前确保备份重要内容。- 若误删文件,可以用
git checkout -- filename.txt
恢复。 - 删除文件前,确认工作区是否有未提交更改,避免丢失数据。
7. 常见误区
- 误以为
git rm
只删除索引,不影响本地文件(实际上默认会删本地文件) - 删除后忘记提交,导致删除没生效