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

如何用.gitignore忽略指定子文件夹且避免父文件夹被GitHub移除?

解决Git忽略子文件夹但保留父文件夹的问题

问题核心原因

Git不追踪空文件夹。你的unit_testing文件夹下只有被忽略的test_cache子文件夹,没有任何Git可追踪的文件,所以推送时远程仓库不会保留这个空文件夹。添加!/unit_testing规则无效,因为Git只追踪文件,不直接追踪文件夹本身。

正确解决方案

方案一:添加占位文件(推荐)

在unit_testing文件夹下创建一个约定俗成的占位文件.gitkeep,用来告诉Git需要保留这个文件夹:

  1. 本地创建文件:
    touch ./unit_testing/.gitkeep
    
  2. 提交并推送这个文件:
    git add ./unit_testing/.gitkeep
    git commit -m "添加.gitkeep以保留unit_testing文件夹"
    git push
    

方案二:确保父文件夹有可追踪的文件

如果unit_testing原本应该包含测试代码等需要追踪的文件,确保这些文件没有被.gitignore忽略,并且已经添加到Git追踪:

git add ./unit_testing/你的测试文件.py
git commit -m "提交unit_testing下的测试文件"
git push

修正后的.gitignore内容

不需要保留!/unit_testing规则,直接忽略子文件夹即可(末尾加/明确指定是文件夹):

/unit_testing/test_cache/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:03:14