Git Ignore配置需求:仅追踪指定目录下的特定模式文件
精准追踪指定文件的.gitignore配置方案(适配Mac+Sourcetree)
核心逻辑
Git的忽略规则是先全局忽略所有内容,再显式放行需要追踪的文件/目录,这是实现“仅追踪目标文件”的关键——默认把不需要的全挡住,只放行指定内容。
最终.gitignore配置
# 第一步:全局忽略所有文件和目录 * # 例外:保留所有子目录结构(否则无法递归查找目标文件) !*/ # 需求1:递归追踪Config文件夹下的指定文件 !Config/**/product.xml !Config/**/product.log.properties # 需求2:递归追踪Platform/Branches/trunk下的指定文件 !Platform/Branches/trunk/**/*.java !Platform/Branches/trunk/**/Packages.xml !Platform/Branches/trunk/**/*_1.0.xml # 需求3:忽略Maven及Mac系统无关文件 # Maven相关 target/ *.class .mvn/ mvnw mvnw.cmd pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup pom.xml.next release.properties dependency-reduced-pom.xml buildNumber.properties .maven/timing.properties # Mac系统文件 .DS_Store
操作步骤
- 将现有
.gitignore文件内容替换为上述配置 - 打开终端(或Sourcetree内置终端面板),执行命令强制添加被Git缓存忽略的目标文件:
git add -f Config/**/product.xml Config/**/product.log.properties git add -f Platform/Branches/trunk/**/*.java Platform/Branches/trunk/**/Packages.xml Platform/Branches/trunk/**/*_1.0.xml - 提交变更后,点击Sourcetree顶部「刷新」按钮,即可看到仅目标文件被追踪,其余无关文件被隐藏
注意事项
- 后续新增符合规则的目标文件,Git会自动识别并追踪,无需重复执行
add -f - 若Sourcetree状态未及时更新,可尝试重启客户端
内容的提问来源于stack exchange,提问作者Beto
相关产品推荐
相关产品推荐

