.gitignore:如何忽略文件而不忽略文件夹

时间:2018-09-17 14:58:24

标签: git

我想忽略没有感叹号的文件。我认为正则表达式为*[!.]*,但这也忽略了文件夹名称。 .gitignore是否有文件夹/文件标记?

2 个答案:

答案 0 :(得分:1)

.gitignore中的文件夹以/结尾。我尝试使用您的表达,但没有使它起作用。但是以下条目似乎可以解决问题:

# Ignore Everything
*
# Unignore all files with extensions
!*.*
# Unignore all folders
!*/

因此,当您拥有这些文件时:

a
a.txt
b/a
b/a.txt

文件a和b / a被忽略。

答案 1 :(得分:0)

首先,!是正则表达式中的特殊字符。因此,如果要仅将\用作字符,则应将其与!一起使用。而且您的regexp还有其他一些错误。您的正则表达式应为*\!*

要识别文件夹,您可以在末尾使用/。并且要忽略文件/文件夹,可以在前面使用前缀!

最后,您的.gitignore文件应为

*\!*
!*\!*/