2017-02-10 368 views
0

我正在尝试为git创建gitignore文件,该文件忽略任何目录中的任何.file文件。我想忽略dir /的实例内的.file的所有实例。这些是特定的文件格式和目录。使用gitignore忽略子目录中的文件

例如,.file是new.file的文件格式。目录/是包含new.file的目录。路径是dir/new.file

我需要git忽略可能出现的dir /的可能实例中的.file文件的可能实例,这可能会出现任意的情况。

我测试过这些:

**/dir/*.file 
*/dir/*.file 
*/dir/**/*.file 
dir/**/*.file 

但是,每当我创建一个foo/dir/new[*].file,我能够git add它也git commit文件。

dir /目录中的文件格式.file的所有新实例都将添加到使用git add .git add -A的分段中。我期望git忽略这些文件。

回答

0

**/dir/**/*.file似乎按照您指定的方式工作,至少在我的测试中。是否有可能您已经在回购中有问题的文件,并且必须先删除它们?

git rm --cached <filepath> 
+0

我假设gitignore阻止'git'将文件添加到分段。我会尽力澄清我的问题。 – gitgudstud

+0

我现在看到了。我发现'**/dir/**/*。file'似乎适用于我,就像你指定的一样。是否有可能您已经在回购中有问题的文件,并且必须先删除它们? 'git rm --cached '可能对此有所帮助。 –

+0

这工作。我已经在各个层面上测试过了。首先,'foo/dir/new.file'没有阶段。其次,'Two/Three/Four/dir/new.file'不会阶段。第三,'Two/Three/Four/dir/Five/new.file'没有阶段。 – gitgudstud