如何在.gitignore中匹配文件名末尾,仅排除main而非main.c文件?
如何用.gitignore只排除无后缀的main文件,保留main.c
直接写 main 就是最简洁的解决方案。Git的.gitignore采用shell glob匹配规则,main 会精确匹配文件名完全为main的文件或目录,根本不会匹配带后缀的main.c——你之前遇到的同时排除两个文件的情况,要么是误解了匹配逻辑,要么是.gitignore里还有其他冲突的规则。
如果只想排除文件而非目录,可以用 main 匹配文件,再用 !main/ 保留目录,但多数情况下直接写 main 就足够满足需求,完全不需要额外加!main.*这类画蛇添足的规则。
另外要注意,Git的.gitignore不支持main^这类正则风格的结尾匹配写法,它只遵循glob模式,精确文件名匹配就是最简洁的实现方式。
内容的提问来源于stack exchange,提问作者D_00
相关产品推荐
相关产品推荐

