我希望Git忽略C ++生成的目标文件。这些名为
<my_file>.o
另一方面,我不希望Git忽略名为
的文件blah.omg.ext
其中名称包含&#39; .o&#39;接下来是更多的东西。在正常的正则表达式中,我会将要忽略的模式写为* .o $,其中$表示行尾。 .gitignore文档没有提到行尾,也没有提到正则表达式。是否可以强制Git忽略名为* .o的目标文件,而不忽略名为* .o的文件?
以下是我上面提到的文档的链接:
答案 0 :(得分:6)
我很好奇并做了一个快速测试并创建了一个像这样的.gitignore
*.o
然后我创建了两个新文件
touch foo.o
touch bar.omg
并做了git status
。正如预期的那样,foo.o
被忽略,bar.omg
显示为未跟踪。
所以只需添加*.o
即可。它只会忽略目标文件(扩展名为.o
的所有文件)
答案 1 :(得分:0)
你可以尝试的是否定第二种选择。像这样:
<my_file>.o
!<my_file>.omg.ext
答案 2 :(得分:0)
我的.gitignore
忽略了*.user
个文件。
但是现在,Foo.Modules.User
以下的所有内容也将被忽略。当我运行git check-ignore -v Foo.Modules.User.csproj
时,我得到以下结果
Foo.Modules.User.csproj
.gitignore:6:*.user Foo.Modules.User.csproj
那实际上是一种奇怪的行为。有任何提示吗?