你好,这里是网络技术联盟站呀,欢迎进入《网工、运维零基础学 Python》专栏——Git教程,第二部分:Git提交与文件增删——在 Git 中如何正确删除文件和目录。
在 Git 中,“删除”一份文件或目录,有着双重语义:
只有满足这两点,Git 才认为你真的删除了一个文件。
注意:
删除 ≠ 文件从历史中彻底消失。Git 采用不可变的提交快照结构,你删除的文件仍然会保存在之前的历史版本中。
删对地方才算数
想彻底理解 Git 中的“删除”,我们必须知道 Git 文件在哪些位置“生存”:
删除文件的正确姿势(推荐方式)
✅ 方法一:使用 git rm
这是 Git 最推荐的方式,能同时操作两个区域(磁盘 + Git 索引):
git rm file.txt
行为:
git commit
生效举例:
git rm config.yamlgit commit -m "chore: 删除过期配置文件"
此时 Git 提交历史中会记录一次“删除变更”。
🧹 方法二:物理删除后再 git add -u
如果你习惯在资源管理器或命令行中直接删除:
rm old_script.py
这时候 Git 只是把它当作“工作目录变化”,还未真正准备提交。
你需要用:
git add -u
才能把这些删除“加进暂存区”。
🔁 或者:
git commit -a -m "fix: 删除冗余脚本"
加 -a
可以自动提交所有已跟踪文件的变更,包括删除。
🚫 方法三:只想从 Git 仓库中删除,保留本地文件?
这就得用 --cached
参数:
git rm --cached secrets.json
这意味着:
secrets.json
⚠️ 通常用于:
.gitignore
前误添加私密配置文件原文始发于微信公众号(网络技术联盟站):网工、运维零基础学 Python:14-Git 删除文件和目录
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论