[英]How do I ignore everything except a couple files in the top-level directory and everything in a few directories with .gitignore
[英]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
逐行:
/*
!/app
app/*
!/app/etc
app/etc/*
!/app/etc/modules
app/etc/modules/*
!/app/etc/modules/Company_Module.xml
這有點麻煩,但是肯定可以添加400多個行來忽略每個不相關的文件/文件夾。
我以這種方式構造了文件,它從36行擴展到91行,所以還算不錯。 現在,所有內容都已提交,並使用此.gitignore
結構推送到我的存儲庫中,我可以確認它的有效性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.