2011-08-26 231 views

回答

26

可以使用负忽略的条款,例如:

project/* 
!project/admin 
!project/admin/* 
+1

如果我只添加'!project/admin/*',我需要'!project/admin'吗?我会把'.gitignore'放在'projects /../'目录下吗?例如在'projects'的父目录中? –

+1

是的,你需要指定目录和里面有什么,我找不到解决办法。我写的例子将会出现在'projects'目录之外,但是您可以随时添加一个可以避免重复'projects'三次的内容。 –

+0

另外,我个人更喜欢每个项目只保留一个'.gitignore',这样我就可以确定去哪里。 –

-2

您可以通过运行touch project/x/.gitignore向每个不想跟踪的文件夹添加一个.gitignore。然后Git会忽略每个文件夹的内容。

+3

我不认为一个空白的.gitignore导致目录都被忽略。 –

+1

文件夹中的空白.gitignore实际上用于具有OPPOSITE效果,因为git不会跟踪(空)文件夹并具有空白.gitignore是添加文件以开始跟踪文件夹的简单方法。 – manojlds

6
projects/* 
!projects/admin 

!前面的行前缀否定它;即该行中给出的目录或文件将被忽略,而而不是

+0

我会把'.gitignore'放在'projects /../'目录下吗?例如在'projects'的父目录中? –

+0

我通常在项目的根目录使用一个''.gitignore'',所以是的。 –

1

您可以直接把.gitignore文件以在projects目录,它只会影响到该目录中。

所以,在projects/.gitignore,只是把:

admin 
x 
etc 
+0

通过这种方式,我需要在添加新项目时更新'.gitignore' –

+0

@NeelBasu:这是真的。我更喜欢从源代码控制中*明确地*而不是隐式地排除东西。 –