gitignore所有文件,除了子目录中的所有java文件

时间:2014-07-22 21:34:44

标签: regex git github gitignore

我尝试了很多不同的方法。

1

*
!.gitignore
!./src/com/AleXander/*

2

/*
!.gitignore
!src/com/Alexander/*.java

3

*
!.gitignore
!./*.java

以及此的其他多种变体。我遇到this question看起来像是在使用正则表达式。这需要正则表达式吗?有什么想法吗?

我也试过这些正则表达式模式,但我不是正则表达式中最好的。

1. 逻辑:忽略所有以文件扩展名模式结尾的文件" java"

*
!.gitignore
!*.[^java$]

2. 逻辑:忽略所有以" j"结尾的文件然后是" a"之后的其他任何事情。

 *
 !.gitignore
 !*.j[^a]*

1 个答案:

答案 0 :(得分:0)

忽略*是一个坏主意。 这将忽略存储库每个部分中的每个文件和每个目录。

特别是git不会在忽略的目录中查看。因此,您稍后定义的例外将完全没有效果。

有很长的包含/排除黑客来制作像这样的工作,但通常最好的方法是明确地忽略你想要忽略的文件,并尽可能避免任何异常。

如果您觉得需要更复杂的忽略规则,这通常表明您的存储库布局需要更好的结构。