2012-04-03 129 views
3

我已经浏览了与此相关的所有以前的stackoverflow问题,但没有找到符合我想要的答案。如何忽略除一个或两个目录以外的所有文件?

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

我想在根目录下有一个库和一个'.gitignore'文件。 我不希望使用git的子模块功能,因为这些都是我需要的矫枉过正。

理想情况下,我想创建一个在背离目录“组件/ com_rhgallery”和“模板/ rhgallery /”的内容,该项目会忽略一切gitignore文件

简单化的解决方案,如下面的唐“T的,因为这样的工作,git的工作原理:

* 
!components/com_rhgallery/ 
!templates/rhgallery/ 

莱纳斯(!本人)在一个帖子曾建议力附加文件或目录,但是当有少量文件的添加,这是唯一适当的当目录结构是故障静态时。

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

+0

如果你明确忽略所有其他目录会怎么样? – zerkms 2012-04-03 23:07:59

+0

我可以做到这一点,但有很多他们,他们动态变化,因为无关的插件被添加。 – user1104799 2012-04-04 02:03:27

回答

2

我相信

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

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

可能会解决你的问题。

+0

我想避免多个gitignore文件。对于这样简单的事情,我希望能够只使用一个gitignore文件。 – user1104799 2012-04-04 01:19:25

+1

不幸的是,这是你需要认识到你所要求的东西,而概念上的简单在实践中并不简单。 gitignore通常会忽略一些选择的构建文件和这种性质的东西,而我们正试图以某种方式重新调整它在这里的用途:)。如果它很简单,只要你想相信它并寻找,你可能不会发布question = D。我希望你找到一个更简单的方法。 – JDD 2012-04-04 01:32:22

+0

我理解你的观点jdd,并感谢你的解决方案,因为它看起来目前为止最干净,尽管它需要额外的gitignore文件 – user1104799 2012-04-04 02:01:33

相关问题