如何在.gitignore中覆盖特定目录的.jar文件忽略规则?
解决.gitignore例外规则不生效的问题
一、修正.gitignore中的路径规则
你的.gitignore文件放在custom目录下,规则里的路径是相对于custom目录的,不需要额外加custom/前缀。另外你写的*.js应该是笔误,要改成*.jar。把原来的规则替换成:
!otmmaddon/bin/**/*.jar !otmmaddonbackoffice/bin/**/*.jar
二、确保父目录未被全局忽略
如果你的.gitignore里有类似otmmaddon/或otmmaddonbackoffice/的全局忽略规则,必须先为父目录添加例外,否则子文件的规则会失效:
!otmmaddon/ !otmmaddon/bin/ !otmmaddon/bin/**/ !otmmaddonbackoffice/ !otmmaddonbackoffice/bin/ !otmmaddonbackoffice/bin/**/
(Git忽略规则是从上到下匹配,父目录被忽略时,子文件的例外规则不会生效)
三、处理已被标记为忽略的文件
如果这些.jar文件之前已经被Git识别为忽略状态,需要先清除缓存再重新跟踪:
# 批量清除目标目录下的.jar缓存 git rm --cached custom/otmmaddon/bin/**/*.jar custom/otmmaddonbackoffice/bin/**/*.jar # 添加文件到暂存区 git add custom/otmmaddon/bin/otmmaddonserver.jar custom/otmmaddonbackoffice/bin/otmmaddonbackofficeserver.jar
嫌麻烦的话也可以直接强制添加,跳过.gitignore检查:
git add -f custom/otmmaddon/bin/**/*.jar custom/otmmaddonbackoffice/bin/**/*.jar
四、验证规则是否生效
执行以下命令查看文件状态,确认目标.jar文件已被标记为待提交:
git status
内容的提问来源于stack exchange,提问作者DEBAGNIK KAR
相关产品推荐
相关产品推荐

