好的,这里给你整理一份详细的 git rm 命令使用教程,内容包括命令作用、常用参数、使用场景示例和注意事项,帮你彻底掌握它。


Git 使用详细教程(4):git rm 使用详解


1. git rm 命令作用

git rm 用于 从 Git 索引(暂存区)和工作目录中删除文件
执行后,文件会被标记为删除,下一次提交时该删除会被记录。

简单来说:

  • 文件从版本库(Git 管理)中删除
  • 文件同时从本地工作区(磁盘)删除

2. 常用参数说明

参数作用
--cached只从暂存区删除文件,保留本地文件
-r递归删除目录
-f强制删除(用于删除修改过且未暂存的文件)

3. 基本用法示例

(1)删除单个文件(工作区 + 暂存区)

git rm filename.txt

执行后,filename.txt 从 Git 索引和磁盘都被删除。


(2)仅从 Git 索引删除,保留本地文件

git rm --cached filename.txt
  • 文件会从版本库中删除,但本地磁盘仍然存在。
  • 常用于停止跟踪某个文件但不删除本地文件。

(3)删除目录(递归)

git rm -r foldername/
  • 删除整个目录及其内容。

(4)强制删除(有修改未暂存)

git rm -f filename.txt
  • 如果文件被修改但未加入暂存区,git rm 会拒绝删除,需用 -f 强制。

4. 使用场景

  • 删除不需要的文件或目录
  • 从版本控制中移除敏感信息(比如配置文件)
  • 停止跟踪某些文件(配合 .gitignore 使用时,先 git rm --cached

5. 删除文件后需要提交

git commit -m "Remove filename.txt"

否则删除操作只在暂存区,不会永久生效。


6. 注意事项

  • git rm 会删除本地文件,操作前确保备份重要内容。
  • 若误删文件,可以用 git checkout -- filename.txt 恢复。
  • 删除文件前,确认工作区是否有未提交更改,避免丢失数据。

7. 常见误区

  • 误以为 git rm 只删除索引,不影响本地文件(实际上默认会删本地文件)
  • 删除后忘记提交,导致删除没生效