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

Git配置.gitignore:仅保留顶级点文件与指定子目录

解决~/作为Git根目录时的.gitignore配置问题

我懂你现在的头疼点——把用户根目录当Git仓库,只想保留顶级点文件和.vim/bundle,但之前的配置死活搞不定bundle目录对吧?

问题出在你的规则没处理好目录层级的忽略逻辑:当你用*忽略所有内容后,虽然!/.*把顶级点目录(比如.vim)拉回来了,但.vim内部的内容默认还是会被忽略,而且你原来的!/.vim/bundle/*只盯着bundle里的文件,却没先确保bundle目录本身被Git认可。

给你一套能直接用的配置,每一行我都给你掰扯清楚:

# 第一步:先把根目录下所有内容都忽略掉,这是基础规则
*

# 第二步:保留所有顶级点文件/目录(用??避免匹配.和..这两个特殊目录)
!/.??*

# 第三步:忽略.vim目录下的所有内容,只留我们需要的bundle
/.vim/*
# 必须先让Git不忽略bundle目录本身,不然里面的内容再怎么加!也没用
!/.vim/bundle/
# 最后把bundle下所有层级的文件和子目录都纳入管理
!/.vim/bundle/**

写完配置后,你可以用git add -n .做个测试——这个命令会模拟添加操作,告诉你哪些文件会被Git追踪,方便你验证配置是否符合预期。

内容的提问来源于stack exchange,提问作者Mussé Redi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:28:30