.gitignore:如何表示行尾

时间:2017-01-21 22:08:06

标签: git

我希望Git忽略C ++生成的目标文件。这些名为

<my_file>.o

另一方面,我不希望Git忽略名为

的文件
blah.omg.ext

其中名称包含&#39; .o&#39;接下来是更多的东西。在正常的正则表达式中,我会将要忽略的模式写为* .o $,其中$表示行尾。 .gitignore文档没有提到行尾,也没有提到正则表达式。是否可以强制Git忽略名为* .o的目标文件,而不忽略名为* .o的文件?

以下是我上面提到的文档的链接:

https://git-scm.com/docs/gitignore

3 个答案:

答案 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

那实际上是一种奇怪的行为。有任何提示吗?