在進行協作開發(fā)代碼管理的過程中旱函,常常會遇到某些臨時文件芽唇、配置文件、或者生成文件等鸟蟹,這些文件由于不同的開發(fā)端會不一樣,如果使用git add . 將所有文件納入git庫中乞娄,那么會出現頻繁的改動和push彭则,這樣會引起開發(fā)上的不便。
Git可以很方便的幫助我們解決這個問題租漂,那就是建立項目文件過濾規(guī)則。
Git中提供兩種過濾機制颊糜,一種是開放模式(全局過濾機制哩治,即對所有的git都適用);另一種是保守模式(針對某個項目使用的過濾規(guī)則)衬鱼。個人傾向于第二種业筏。
(一)開放模式負責設置過濾哪些文件和文件夾
例如:
過濾文件夾設置:
/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. ,執(zhí)行 git commit即可菜枷。
備注:
.gitignore只適用于尚未添加到Git庫的文件苍糠。如果已經添加了,則需用git rm移除后再重新commit啤誊。
Git使用Gitignore建立項目過濾規(guī)則
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來总寒,“玉大人灭必,你說我怎么就攤上這事〉Э” “怎么了免糕?”我有些...
- 正文 為了忘掉前任松逊,我火速辦了婚禮,結果婚禮上试吁,老公的妹妹穿的比我還像新娘棺棵。我一直安慰自己,他們只是感情好熄捍,可當我...
- 文/花漫 我一把揭開白布烛恤。 她就那樣靜靜地躺著,像睡著了一般余耽。 火紅的嫁衣襯著肌膚如雪缚柏。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼史翘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起琼讽,我...
- 正文 年R本政府宣布,位于F島的核電站设捐,受9級特大地震影響借浊,放射性物質發(fā)生泄漏。R本人自食惡果不足惜萝招,卻給世界環(huán)境...
- 文/蒙蒙 一蚂斤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧槐沼,春花似錦曙蒸、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至兼吓,卻和暖如春臂港,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背视搏。 一陣腳步聲響...
推薦閱讀更多精彩內容
- 1.主項目中的.gitignore文件 app模塊下的.gitignore文件 通過上面的配置git提交的時候就會...
- Git忽略規(guī)則: 在git中如果想忽略掉某個文件杂数,不讓這個文件提交到版本庫中,可以使用修改根目錄中 .gitign...
- 創(chuàng)建 .gitignore 隨意設置想跟蹤哪些文件 和不跟蹤哪些文件. 在項目根目錄下建立 .gitignore ...
- 在git中如果想忽略掉某個文件瘸洛,不讓這個文件提交到版本庫中,可以使用修改根目錄中 .gitignore 文件的方法...
- 在git中如果想忽略掉某個文件次和,不讓這個文件提交到版本庫中反肋,可以使用修改根目錄中 .gitignore 文件的方法...