Git:忽略除目录之外的所有内容

时间:2010-06-01 08:27:37

标签: git design-patterns gitosis gitignore

我已阅读本手册: http://git-scm.com/docs/gitignore

当我正在使用gitosis时,我宁愿使用.gitignore而不是显式git命令。 如说手册:

  

当然,不使用git跟踪文件   只是不要叫git   加上他们。但很快就会变成   烦恼有这些未跟踪的文件   躺着例如他们让git添加。   实际上没用,他们保持   出现在git的输出中   状态。

     

你可以告诉git忽略某些   文件通过创建一个名为   .gitignore在你的顶级   工作目录

我基本上想要递归地忽略除了两个目录之外的所有内容。假设/ mywebapp(包含两个子目录,如样式表和javascripts)和/ mydata是这两个目录。现在,我已经被告知git不会跟踪目录,而只是跟踪文件。 !-mark排除,所以我认为这也适用于目录。我发现使用*会忽略其他一切。我怎么写我的.gitignore文件?

我的问题不是如何通过显式添加手动添加这些目录。我的问题是如何在gitignore文件中完成。

感谢您的帮助,意见和反馈。

1 个答案:

答案 0 :(得分:2)

首先,'*'被委托给fnmatch function,而{{3}}在所有平台上并不总是相同。

使用我的msysgit,我设法忽略所有子目录 content ,但

除外
*/
!mySubDir

所以在你的情况下:

*/
!mywebapp 
!mydata

在这种情况下使用“*”(而不是“*/”)有点太多了:它会忽略所有文件和目录......