文章目录1. 简介2. 格式3. 选项4. 示例4.1 删除单个文件4.2 递归删除目录4.3 仅从仓库删除保留工作区文件4.4 强制删除忽略本地修改4.5 批量删除特定类型文件4.6 模拟执行查看将要删除的文件5. 其他5.1 git rm vs 普通 rm 的区别5.2 误删除后如何恢复5.3 常用别名设置6. 小结参考文献1. 简介git rm命令用于从 Git 仓库和工作区中同时删除文件。它会将删除操作记录下来等待下一次提交。与直接使用rm命令删除文件不同git rm会同时更新暂存区省去了git add的步骤。注意git rm无法删除未受版本控制的文件untracked file。2. 格式gitrm[options][--][pathspec…]3. 选项-f,--force强制删除即使文件有本地修改-r递归删除目录及其内容--cached仅从暂存区和版本库中删除保留工作区文件。可用于文件脱离版本控制 -n, --dry-run 模拟执行显示哪些文件会被删除但不实际删除 --ignore-unmatch 如果匹配不到文件也不报错 -q,--quiet静默模式不输出删除信息4. 示例4.1 删除单个文件# 删除 README.mdgitrmREADME.md4.2 递归删除目录# 删除 utils 目录及其所有内容gitrm-rutils/4.3 仅从仓库删除保留工作区文件# 删除版本库中的 config.env但保留本地文件常用于误提交的配置文件gitrm--cachedconfig.env4.4 强制删除忽略本地修改# 文件有本地修改但仍要删除gitrm-fmain.go4.5 批量删除特定类型文件# 删除所有 .log 文件gitrm*.log# 递归删除所有 .tmp 文件# \*.tmp 解释为字面量 *.tmp 传递给 git rm。# Git 收到参数 *.tmp 后会自己进行通配符匹配在索引暂存区中查找所有 .tmp 文件并删除。gitrm\*.tmp--cached4.6 模拟执行查看将要删除的文件# 预览哪些文件会被删除gitrm--dry-run *.log5. 其他5.1git rmvs 普通rm的区别操作工作区暂存区是否需要git addrm file删除仍存在显示 deleted✅ 需要git add才能提交删除git rm file删除已删除❌ 直接git commit即可5.2 误删除后如何恢复# 误执行 git rm 后可以从 HEAD 恢复gitreset HEADfilegitcheckout --file# 或者使用 restoreGit 2.23gitrestore--sourceHEADfile5.3 常用别名设置gitconfig--globalalias.rmcrm --cachedgitconfig--globalalias.rmrrm -r# 使用别名gitrmc config.envgitrmr old-module/6. 小结需求命令说明删除文件工作区仓库git rm file同时删除直接提交递归删除目录git rm -r dir/删除目录及其所有内容只删仓库保留工作区git rm --cached file适用于误提交的配置文件强制删除git rm -f file忽略本地修改强制删除预览删除git rm --dry-run file模拟执行不实际删除一句话总结git rm是 Git 中的删除命令它会同时更新工作区和暂存区。需要保留本地文件时用--cached误删除后可从 HEAD 恢复。养成删除前用--dry-run预览的习惯避免意外删除。参考文献Git - git-rm Documentation
git rm
文章目录1. 简介2. 格式3. 选项4. 示例4.1 删除单个文件4.2 递归删除目录4.3 仅从仓库删除保留工作区文件4.4 强制删除忽略本地修改4.5 批量删除特定类型文件4.6 模拟执行查看将要删除的文件5. 其他5.1 git rm vs 普通 rm 的区别5.2 误删除后如何恢复5.3 常用别名设置6. 小结参考文献1. 简介git rm命令用于从 Git 仓库和工作区中同时删除文件。它会将删除操作记录下来等待下一次提交。与直接使用rm命令删除文件不同git rm会同时更新暂存区省去了git add的步骤。注意git rm无法删除未受版本控制的文件untracked file。2. 格式gitrm[options][--][pathspec…]3. 选项-f,--force强制删除即使文件有本地修改-r递归删除目录及其内容--cached仅从暂存区和版本库中删除保留工作区文件。可用于文件脱离版本控制 -n, --dry-run 模拟执行显示哪些文件会被删除但不实际删除 --ignore-unmatch 如果匹配不到文件也不报错 -q,--quiet静默模式不输出删除信息4. 示例4.1 删除单个文件# 删除 README.mdgitrmREADME.md4.2 递归删除目录# 删除 utils 目录及其所有内容gitrm-rutils/4.3 仅从仓库删除保留工作区文件# 删除版本库中的 config.env但保留本地文件常用于误提交的配置文件gitrm--cachedconfig.env4.4 强制删除忽略本地修改# 文件有本地修改但仍要删除gitrm-fmain.go4.5 批量删除特定类型文件# 删除所有 .log 文件gitrm*.log# 递归删除所有 .tmp 文件# \*.tmp 解释为字面量 *.tmp 传递给 git rm。# Git 收到参数 *.tmp 后会自己进行通配符匹配在索引暂存区中查找所有 .tmp 文件并删除。gitrm\*.tmp--cached4.6 模拟执行查看将要删除的文件# 预览哪些文件会被删除gitrm--dry-run *.log5. 其他5.1git rmvs 普通rm的区别操作工作区暂存区是否需要git addrm file删除仍存在显示 deleted✅ 需要git add才能提交删除git rm file删除已删除❌ 直接git commit即可5.2 误删除后如何恢复# 误执行 git rm 后可以从 HEAD 恢复gitreset HEADfilegitcheckout --file# 或者使用 restoreGit 2.23gitrestore--sourceHEADfile5.3 常用别名设置gitconfig--globalalias.rmcrm --cachedgitconfig--globalalias.rmrrm -r# 使用别名gitrmc config.envgitrmr old-module/6. 小结需求命令说明删除文件工作区仓库git rm file同时删除直接提交递归删除目录git rm -r dir/删除目录及其所有内容只删仓库保留工作区git rm --cached file适用于误提交的配置文件强制删除git rm -f file忽略本地修改强制删除预览删除git rm --dry-run file模拟执行不实际删除一句话总结git rm是 Git 中的删除命令它会同时更新工作区和暂存区。需要保留本地文件时用--cached误删除后可从 HEAD 恢复。养成删除前用--dry-run预览的习惯避免意外删除。参考文献Git - git-rm Documentation