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

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 只删除索引,不影响本地文件(实际上默认会删本地文件)
  • 删除后忘记提交,导致删除没生效

www.52runoob.com/archives/55...

相关推荐
无心水8 小时前
OpenClaw技术文档/代码评审/测试用例生成深度实战
网络·后端·架构·测试用例·openclaw·养龙虾
GetcharZp8 小时前
告别 CGO 噩梦!这款“纯 Go”神器让你不用 GCC 也能调 C 库,部署快到飞起!
后端
IT_陈寒9 小时前
Redis批量删除的大坑,差点让我加班到天亮
前端·人工智能·后端
lolo大魔王9 小时前
Go语言的反射机制
开发语言·后端·算法·golang
Postkarte不想说话10 小时前
使用vLLM本地部署大模型
后端
jserTang11 小时前
手撕 Claude Code-4: TodoWrite 与任务系统
前端·javascript·后端
jserTang11 小时前
手撕 Claude Code-5:Subagent 与 Agent Teams
前端·javascript·后端
柯西劝我别收敛11 小时前
K8s Scheduling Framework 解析
后端
金銀銅鐵11 小时前
[Java] 从 class 文件看 cglib 对 MethodInterceptor 的处理 (下)
java·后端
Walter先生12 小时前
WebSocket 连接池生产级实现:实时行情高可用与负载均衡
后端·websocket·架构