- Git 入门
- Git - 首页
- Git - 版本控制
- Git - 基本概念
- Git - 命令行
- Git - 安装
- Git - 首次设置
- Git - 基本命令
- Git - 获取帮助
- Git - 工具
- Git - 速查表
- Git - 术语
- Git 分支
- Git - 简述分支
- Git - 创建新分支
- Git - 切换分支
- Git - 分支和合并
- Git - 合并冲突
- Git - 管理分支
- Git - 分支工作流程
- Git - 远程分支
- Git - 跟踪分支
- Git - 变基
- Git - 变基与合并
- Git - 合并提交
- Git 操作
- Git - 克隆操作
- Git - 标签操作
- Git - 别名操作
- Git - 提交操作
- Git - 暂存操作
- Git - 移动操作
- Git - 重命名操作
- Git - 推送操作
- Git - 拉取操作
- Git - Fork 操作
- Git - Patch 操作
- Git - Diff 操作
- Git - 状态操作
- Git - 日志操作
- Git - HEAD 操作
- Git - origin master
- Git 撤销
- Git - 撤销更改
- Git - checkout
- Git - revert
- Git - reset
- Git - 恢复操作
- Git - rm
- Git - switch 操作
- Git - cherry-pick
- Git - amend
- Git 服务器
- Git - 本地协议
- Git - 智能 HTTP 协议
- Git - 哑 HTTP 协议
- Git - SSH 协议
- Git - Git 协议
- Git - 在服务器上获取 Git
- Git - 设置服务器
- Git - Daemon
- Git - GitWeb
- Git - GitLab
- Git - 第三方托管选项
- 分布式 Git
- Git - 分布式工作流程
- Git - 为项目做贡献
- Git - 维持项目
- 自定义 Git
- Git - 配置
- Git - 钩子
- Git - 属性
- Git - init
- Git - commit
Git rm
git rm 命令用于从索引和工作树中删除特定文件。通过这样做,我们将文件从项目中移除,并将其删除操作暂存到下一次提交。
git rm 命令从 Git 索引以及(可选)工作目录中删除文件。
要仅从工作目录中删除文件(不影响索引),请使用其他命令,例如 /bin/rm。
默认情况下,git rm 要求文件与分支的最新提交匹配,使用 -f 选项强制删除与最新提交不匹配的文件。
使用 git rm --cached 仅从索引中删除文件,将其保留在工作目录中。
启用稀疏检出后,git rm 仅影响稀疏检出模式中的文件。
语法
git rm <file>…
git rm 用于删除由 <file> 指定的文件。
使用带 -r 选项的目录名可删除目录及其所有子目录中的所有文件。
虽然 git rm 'd*' 只针对给定目录中的文件,但文件通配符匹配跨越目录边界,允许 git rm 'd*' 删除多个目录中的文件。
选项
git rm 命令具有以下选项:
-f
--force
git rm -f <file>…
使用 git rm 时,-f 或 --force 选项会覆盖默认检查,该检查在删除之前验证文件是否为最新状态。
-n
--dry-run
git rm -n <file>…
使用 git rm 时,-n 或 --dry-run 选项会模拟删除过程,而无需实际删除任何文件。
因为它显示将从索引中删除哪些文件,所以您可以在执行实际删除之前检查更改。
-r
--recursive
git rm -r <directory-name>…
当指定前导目录名时,git rm 中的 -r 选项允许我们执行递归删除,这将删除目录及其所有内容。
如果不存在此选项,git rm 将只删除文件,而不会进入子目录。
--
git rm -- <file>
在 Git 中,可以使用 -- 选项将命令行参数与文件或参数列表分开。
这在文件名可能被误解为命令行选项的情况下特别有用,因为它确保任何后续参数都被视为文件路径而不是选项。
--cached
git rm --cached <file>
使用 git rm 时,可以使用 --cached 选项取消暂存文件并仅从索引中删除它们,而不会更改工作树中的文件。
无论它们是否被更改,这些文件都将从暂存区删除,但会保留在我们的本地目录中。
--ignore-unmatch
git rm --ignore-unmatch <file>
当使用带有 --ignore-unmatch 选项的 git rm 命令时,即使没有文件与提供的模式匹配,命令也会以零成功状态终止。
当找不到匹配要求的文件时,这有助于防止脚本或任务中的错误。
--sparse
git rm --sparse <file>
对于稀疏检出范围之外的路径,可以使用 git rm 中的 --sparse 选项修改索引条目。
使用 --sparse,git rm 将更新索引,即使对于未包含在稀疏检出配置中的文件也是如此,而通常情况下,它会将更改限制在稀疏检出范围内的文件中。
-q
--quiet
git rm -q <file>
使用 git rm 时,-q 或 --quiet 选项会抑制列出每个正在删除文件的标准输出。
选择此选项时,程序会删除文件而不显示每个文件的详细信息。
因此,终端输出变得不那么混乱。
使用 git rm 命令后,必须提交更改才能最终从存储库历史记录中删除文件。
此外,在文件具有未提交的更改时,使用 git rm -f 命令时必须非常小心,因为使用此命令后,这些更改将丢失。