1. 程式人生 > >.gitignore詳解(附上eclipse的java專案的 .gitignore檔案)

.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

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

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

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

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

附上eclipse的java專案的 .gitignore檔案

/.settings/  
/target/  
  
# built application files  
*.apk  
*.ap_  
  
# files for the dex VM  
*.dex  
  
# Java class files  
*.class  
*.jar  
  
# generated files  
bin/  
gen/  
  
# Eclipse project files  
.classpath  
.project  
.DS_Store
文章來源:https://blog.csdn.net/jkxqj/article/details/55670657