如何在Git中忽略特定无扩展名文件?避免误忽略同名文件夹
精准忽略无扩展名二进制文件,保留同名文件夹的.gitignore方案
刚好遇到过类似的场景,给你两个靠谱的解决办法,能精准匹配你要忽略的program二进制文件,同时完全保留同名的文件夹:
方法一:根目录精准匹配(适合文件在仓库根目录的情况)
在.gitignore中添加这一行:/program开头的斜杠
/是关键——它会强制规则只匹配仓库根目录下的program文件,不会触碰到同名的program/文件夹,完美区分开文件和目录。方法二:全局匹配+否定规则(适合任意目录下的目标文件)
如果你的program文件可能出现在不同子目录里,同时要确保所有program/文件夹都不被忽略,可以用这套组合规则:program !program/第一行
program会先匹配所有名为program的文件和文件夹,第二行的!program/是否定规则,相当于把所有program文件夹从忽略列表里捞出来,最终就只会忽略program文件,文件夹不受影响。
额外注意事项
如果之前已经把program文件提交到过仓库,得先把它从Git缓存中移除,不然.gitignore规则不会生效:
git rm --cached program
之后提交.gitignore的修改,后续的program文件就会被自动忽略了。
内容的提问来源于stack exchange,提问作者Gustavo Lopes
相关产品推荐
相关产品推荐

