如何忽略除一个或两个目录之外的所有文件?

时间:2012-04-03 23:05:11

标签: git

我查看过所有与此相关的stackoverflow问题,但没有找到符合我想要的答案。

我正在为内容管理系统开发组件和模板。我的所有组件文件都在一个名为'components / com_rhgallery /'的子目录中,我的所有模板文件都在一个名为'templates / rhgallery /'的子目录中

我希望在根目录下有一个单个存储库和一个“.gitignore”文件。 我宁愿不使用git的子模块功能,因为这些功能对我的需求来说太过分了。

理想情况下,我想创建一个gitignore文件,除了目录'components / com_rhgallery'和'templates / rhgallery /'

的内容之外,它们忽略了项目中的所有内容。

由于git的工作方式,以下简单的解决方案无效:

*
!components/com_rhgallery/
!templates/rhgallery/

Linus(他自己!)在一篇帖子中建议强制添加文件或目录,但这只适用于需要添加少量文件和目录结构失败的静态文件。

所以,我的问题是,你如何创建一个gitignore文件来完成这个相对简单的任务,确保只跟踪这两个目录中的那些文件?

1 个答案:

答案 0 :(得分:2)

我相信

.gitignore :
*
!/components/com_rhgallery/*
!/templates/rhgallery/*

components/com_rhgallery/.gitignore :
!*
templates/rhgallery/.gitignore :
!*

可能会解决您的问题。