繁体   English   中英

忽略除不同目录中的一系列不同文件以外的所有内容

[英]Ignore Everything Except a Series of Different Files in Different Directories

接下来是这些问题:

我正在努力在自己的环境中实现这一目标。

我已经遵循了建议并将其调整为适合自己的需求,但是,当我运行git status得到的所有内容都是.gitignore本身,因为未跟踪。

我正在创建一个Magento模块,如果每个模块都创建了一个模块,那么在整个Magento安装过程中,您会知道文件位于不同的位置。

这是我创建的.gitignore:

# Ignore All
/*
/*/

# EXCEPT
# =============

# This
!/.gitignore

# Module Config
!/app/etc/modules/Company_Module.xml

# Module Code
!/app/code/local/Company/Module/

# Front End Design
!/app/design/frontend/base/default/layout/company_module.xml
!/app/design/frontend/base/default/template/company_module/

# Back End Design
!/app/design/adminhtml/default/default/layout/company_module.xml
!/app/design/adminhtml/default/default/template/company_module/

# JavaScript
!/js/company_module/

# Front End Skin
!/skin/frontend/base/default/css/company_module/
!/skin/frontend/base/default/images/company_module/
!/skin/frontend/base/default/js/company_module/

# Back End Skin
!/skin/adminhtml/default/default/css/company_module/
!/skin/adminhtml/default/default/images/company_module/
!/skin/adminhtml/default/default/js/company_module/

我创建了以下文件来测试其有效性/app/etc/modules/Company_Module.xml但它根本没有出现在git status输出中。

我目前不确定该怎么办。

好的,我已经弄清楚了应该如何组织它。

创建文件时,我必须将每个文件夹视为自己的实体。 例如,我将查看根目录并使用/*忽略所有内容,然后遍历此目录中的每个文件夹并否定我需要否定的内容,包括仅对要否定的文件夹进行否定。 与其跟踪文件的完整路径,不如逐个文件夹地处理它。 请参见以下示例:

/*
!/app
app/*
!/app/etc
app/etc/*
!app/etc/modules
app/etc/modules/*
!/app/etc/modules/Company_Module.xml

逐行:

  1. 忽略根目录中的每个文件- /*
  2. 除了app文件夹- !/app
  3. 在app文件夹中,忽略所有文件app/*
  4. 除了etc文件夹- !/app/etc
  5. 在etc文件夹中,忽略所有文件app/etc/*
  6. 除了modules文件夹- !/app/etc/modules
  7. 在modules文件夹中,忽略所有文件app/etc/modules/*
  8. 除了模块配置文件- !/app/etc/modules/Company_Module.xml

这有点麻烦,但是肯定可以添加400多个行来忽略每个不相关的文件/文件夹。

我以这种方式构造了文件,​​它从36行扩展到91行,所以还算不错。 现在,所有内容都已提交,并使用此.gitignore结构推送到我的存储库中,我可以确认它的有效性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM