天天看點

.gitignore詳解(附上eclipse的java項目的 .gitignore檔案)

今天講講git中非常重要的一個檔案――.gitignore。

首先要強調一點,這個檔案的完整檔案名就是“.gitignore”,注意最前面有個“.”。這樣沒有擴充名的檔案在windows下不太好建立,這裡給出win7的建立方法:

建立一個檔案,檔案名為:“.gitignore.”,注意前後都有一個點。儲存之後系統會自動重命名為“.gitignore”。

一般來說每個git項目中都需要一個“.gitignore”檔案,這個檔案的作用就是告訴git哪些檔案不需要添加到版本管理中。

實際項目中,很多檔案都是不需要版本管理的,比如python的.pyc檔案和一些包含密碼的配置檔案等等。

這個檔案的内容是一些規則,git會根據這些規則來判斷是否将檔案添加到版本控制中。

下面我們看看常用的規則:

/mtk/ 過濾整個檔案夾

*.zip 過濾所有.zip檔案

/mtk/do.c 過濾某個具體檔案

很簡單吧,被過濾掉的檔案就不會出現在你的github庫中了,當然本地庫中還有,隻是push的時候不會上傳。

需要注意的是,gitignore還可以指定要将哪些檔案添加到版本管理中:

!*.zip

!/mtk/one.txt

唯一的差別就是規則開頭多了一個感歎号,git會将滿足這類規則的檔案添加到版本管理中。

為什麼要有兩種規則呢?想象一個場景:我們隻需要管理/mtk/目錄中的one.txt檔案,這個目錄中的其他檔案都不需要管理。那麼我們就需要使用:

/mtk/

假設我們隻有過濾規則沒有添加規則,那麼我們就需要把/mtk/目錄下除了one.txt以外的所有檔案都寫出來!

最後需要強調的一點是,如果你不慎在建立.gitignore檔案之前就push了項目,那麼即使你在.gitignore檔案中寫入新的過濾規則,這些規則也不會起作用,git仍然會對所有檔案進行版本管理。

簡單來說,出現這種問題的原因就是git已經開始管理這些檔案了,是以你無法再通過過濾規則過濾它們。

是以大家一定要養成在項目開始就建立.gitignore檔案的習慣,否則一旦push,處理起來會非常麻煩。

轉載連結:  http://sentsin.com/web/666.html

附上eclipse的java項目的 .gitignore檔案