Git使用Gitignore建立專案過濾規則
阿新 • • 發佈:2019-01-22
在進行協作開發程式碼管理的過程中,常常會遇到某些臨時檔案、配置檔案、或者生成檔案等,這些檔案由於不同的開發端會不一樣,如果使用git
add . 將所有檔案納入git庫中,那麼會出現頻繁的改動和push,這樣會引起開發上的不便。
Git可以很方便的幫助我們解決這個問題,那就是建立專案檔案過濾規則。
Git中提供兩種過濾機制,一種是開放模式(全域性過濾機制,即對所有的git都適用);另一種是保守模式(針對某個專案使用的過濾規則)。個人傾向於第二種。
(一)開放模式負責設定過濾哪些檔案和資料夾
例如:
過濾資料夾設定:
/maigade/
過濾檔案設定
指定過濾某種型別的檔案:
*.zip *.rar *.via *.tmp *.err指定過濾某個檔案
/maigade/do.c
/maigade/if.h
(二)保守模式負責設定哪些檔案不被過濾,也就是哪些檔案要被跟蹤。
跟蹤某個資料夾
!/plutommi/mmi
跟蹤某類檔案
!*.c
!*.h
跟蹤某個指定檔案
!/plutommi/mmi/mmi_features.h
(三)配置.gitignore 的簡易原則
採用共享模式與保守模式結合配置的辦法。例如:一個資料夾下有很多資料夾和檔案,而我只想跟蹤其中的一個檔案,這樣設定就可以滿足這種情況,先用共享模式把整個目錄 都設定為不跟蹤,然後再用保守模式把這個資料夾中想要跟蹤的檔案設定為被跟蹤,配置很簡單,就可以跟蹤想要跟蹤的檔案。
專案示例配置
#######開放模式############ ############### # folder # ############### /_souceInsight_/ /build/ /MoDIS/ /Doc/ /mtk_lib/ /scripts/ /header_temp/ /tools/AudioResGen/ /tools/GLBOptionSwtichRef/ /tools/GMSL/ /tools/MinGW/ /tools/MSYS/ /tools/NewMMIResourceTool/ /tools/NVRAMStatistic/ /tst/ /verno/ /plutommi/tool/ /plutommi/Customer/ResGenerator/ /plutommi/Customer/CustResource/ /plutommi/Customer/LcdResource/ /plutommi/Customer/Images/ /plutommi/mmi/Framework/EventHandling/EventsInc/mmi_menu_handlers.h /vendor/font/MTK/official/project/plutommi/content/inc/ /vendor/font/MTK/official/project/plutommi/content/src/ ############### # fixed file # ############### .gitignore *.exe *.txt *.def *.dsp *.lib *.doc *.dll *.lnt *.pm *.xls *.dbg *.DBG *.o *.plg *.keep ############### # temp file # ############### ~* *.log *.cmm *.men *.ini *.fig *.cmp *.tmp ############### # script # ############### *.bat
#########保守模式############
!/plutommi/Customer/CustResource/PLUTO_MMI/
!/plutommi/Customer/LcdResource/MainLcd128X160/
!/plutommi/Customer/Images/PLUTO128X160/image.zip
!/vendor/font/MTK/official/project/plutommi/content/inc/MainLcd128X160/
!/vendor/font/MTK/official/project/plutommi/content/src/MainLcd128X160/
1:# 此為註釋 ,將被git忽略
2:*.a 忽略所有.a結尾的檔案
3:!lib.a 但lib.a除外
4:/todo 僅僅忽略專案根目錄下的todo 檔案,不包括subdir/todo
5:build/ 忽略build/目錄下的所有檔案
6:doc/*.txt 忽略doc/notes.txt,但不包括doc/server/arch.txt然後呼叫git add. ,執行 git commit即可。
備註:
.gitignore只適用於尚未新增到Git庫的檔案。如果已經添加了,則需用git rm移除後再重新commit。