You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git中如何忽略整个文件夹但保留部分有用文件(无需手动添加)

取消Git对整个文件夹的追踪但保留指定文件

要实现取消追踪整个文件夹、自动保留指定文件且不用手动逐个添加的需求,按以下步骤操作即可:

1. 配置.gitignore规则

在项目根目录的.gitignore文件中,先添加规则忽略整个目标文件夹,再通过!前缀指定需要保留的文件/子文件夹。示例如下(假设目标文件夹为build/,需保留build/assets/子文件夹和build/version.txt文件):

# 忽略整个build文件夹
build/
# 例外保留assets子文件夹
!build/assets/
# 例外保留version.txt文件
!build/version.txt

注意规则顺序:先写全局忽略,再写例外规则,Git会按顺序匹配,后续规则会覆盖前置冲突规则;文件夹规则末尾要加/,避免匹配同名文件。

2. 移除已追踪的文件夹索引

执行以下命令,将整个文件夹从Git索引中移除(仅修改追踪状态,不会删除本地文件):

git rm --cached -r build/
  • -r:递归处理文件夹内的所有内容
  • --cached:仅操作Git索引,保留本地文件不受影响

3. 提交修改

将.gitignore的更新和索引变更提交到仓库:

git add .gitignore
git commit -m "调整.gitignore:忽略build文件夹,仅保留指定文件/子文件夹"

关键注意事项

  • 如果目标文件夹下之前有已提交的文件,必须执行git rm --cached -r步骤,否则Git仍会追踪这些文件
  • 若保留的是子文件夹,务必在例外规则末尾加/(如!build/assets/),否则Git可能无法识别为文件夹,导致内部文件依然被忽略
  • 可根据需求添加任意多条!规则,无需手动逐个添加文件到Git,完全通过配置实现自动保留

内容的提问来源于stack exchange,提问作者yagazinho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:37:12