簡體   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