网工、运维零基础学 Python:14-Git 删除文件和目录

admin 2025年7月8日20:39:29评论4 views字数 875阅读2分55秒阅读模式

你好,这里是网络技术联盟站呀,欢迎进入《网工、运维零基础学 Python》专栏——Git教程,第二部分:Git提交与文件增删——在 Git 中如何正确删除文件和目录。

网工、运维零基础学 Python:14-Git 删除文件和目录

在 Git 中,“删除”一份文件或目录,有着双重语义:

✅ 从工作区(Working Directory)中物理删除
✅ 从 Git 的版本记录(暂存区/索引)中标记为删除

只有满足这两点,Git 才认为你真的删除了一个文件

注意:

删除 ≠ 文件从历史中彻底消失。Git 采用不可变的提交快照结构,你删除的文件仍然会保存在之前的历史版本中。

删对地方才算数

想彻底理解 Git 中的“删除”,我们必须知道 Git 文件在哪些位置“生存”:

网工、运维零基础学 Python:14-Git 删除文件和目录

删除文件的正确姿势(推荐方式)

✅ 方法一:使用 git rm

这是 Git 最推荐的方式,能同时操作两个区域(磁盘 + Git 索引):

git rm file.txt
网工、运维零基础学 Python:14-Git 删除文件和目录

行为:

从工作目录删除该文件
同时从 Git 的暂存区中移除(标记为“已删除”)
等待你下一次 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 可以自动提交所有已跟踪文件的变更,包括删除。

网工、运维零基础学 Python:14-Git 删除文件和目录

🚫 方法三:只想从 Git 仓库中删除,保留本地文件?

这就得用 --cached 参数:

git rm --cached secrets.json

这意味着:

Git 不再追踪 secrets.json
但该文件依旧留在本地磁盘上

⚠️ 通常用于:

提交 .gitignore 前误添加私密配置文件
想从 Git 移除某些中间产物但保留本地使用

原文始发于微信公众号(网络技术联盟站):网工、运维零基础学 Python:14-Git 删除文件和目录

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月8日20:39:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网工、运维零基础学 Python:14-Git 删除文件和目录https://cn-sec.com/archives/4235023.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息