Git使用Gitignore建立項(xiàng)目過濾規(guī)則

在進(jìn)行協(xié)作開發(fā)代碼管理的過程中,常常會遇到某些臨時文件、配置文件、或者生成文件等,這些文件由于不同的開發(fā)端會不一樣,如果使用git add . 將所有文件納入git庫中,那么會出現(xiàn)頻繁的改動和push,這樣會引起開發(fā)上的不便。

Git可以很方便的幫助我們解決這個問題,那就是建立項(xiàng)目文件過濾規(guī)則。

Git中提供兩種過濾機(jī)制,一種是開放模式(全局過濾機(jī)制,即對所有的git都適用);另一種是保守模式(針對某個項(xiàng)目使用的過濾規(guī)則)。個人傾向于第二種。

(一)開放模式負(fù)責(zé)設(shè)置過濾哪些文件和文件夾

例如:

過濾文件夾設(shè)置:

/maigade/

過濾文件設(shè)置

指定過濾某種類型的文件:

*.zip

*.rar

*.via

*.tmp

*.err

指定過濾某個文件

/maigade/do.c

/maigade/if.h

(二)保守模式負(fù)責(zé)設(shè)置哪些文件不被過濾,也就是哪些文件要被跟蹤。

跟蹤某個文件夾

!/plutommi/mmi

跟蹤某類文件

!*.c

!*.h

跟蹤某個指定文件

!/plutommi/mmi/mmi_features.h

(三)配置.gitignore 的簡易原則

采用共享模式與保守模式結(jié)合配置的辦法。例如:一個文件夾下有很多文件夾和文件,而我只想跟蹤其中的一個文件,這樣設(shè)置就可以滿足這種情況,先用共享模式把整個目錄 都設(shè)置為不跟蹤,然后再用保守模式把這個文件夾中想要跟蹤的文件設(shè)置為被跟蹤,配置很簡單,就可以跟蹤想要跟蹤的文件。

項(xiàng)目示例配置

#######開放模式############

###############

#    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結(jié)尾的文件

3:!lib.a  但lib.a除外

4:/todo  僅僅忽略項(xiàng)目根目錄下的todo  文件,不包括subdir/todo

5:build/    忽略build/目錄下的所有文件

6:doc/*.txt  忽略doc/notes.txt,但不包括doc/server/arch.txt

然后調(diào)用git add. ,執(zhí)行 git commit即可。

備注:

.gitignore只適用于尚未添加到Git庫的文件。如果已經(jīng)添加了,則需用git rm移除后再重新commit。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容