.gitignore詳解(附上eclipse的java項目的 .gitignore文件)

今天講講Git中很是重要的一個文件――.gitignore。html

首先要強調一點,這個文件的完整文件名就是「.gitignore」,注意最前面有個「.」。這樣沒有擴展名的文件在Windows下不太好建立,java

這裏給出win7的建立方法:git

建立一個文件,文件名爲:「.gitignore.」,注意先後都有一個點。保存以後系統會自動重命名爲「.gitignore」web

通常來講每一個Git項目中都須要一個「.gitignore」文件,這個文件的做用就是告訴Git哪些文件不須要添加到版本管理中。app

實際項目中,不少文件都是不須要版本管理的,好比Python的.pyc文件和一些包含密碼的配置文件等等。eclipse

這個文件的內容是一些規則,Git會根據這些規則來判斷是否將文件添加到版本控制中。ide

下面咱們看看經常使用的規則:post

/mtk/ 過濾整個文件夾gradle

*.zip 過濾全部.zip文件ui

/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仍然會對全部文件進行版本管理。

那好,如何正確使用.gitignore呢?這也是一門大學問。是否是項目作到一半,而後再添加.gitignore呢?不是的,最好的是你項目剛建立,項目尚未進行git版本控制的時候,首先在項目目錄下加入.gitignore文件,即首先對.gitignore進行版本控制,而後在對項目進行版本控制。可是若是你是後來才加入.gitignore呢?就可能會出現以下問題:

 


或者.DS_Store等文件不斷的提醒我又被修改了。。。只是由於這些文件先於.gitignore進行版本控制了。此時你可使用以下命令來讓.gitignore忽視它:

git rm --cached -r 文件名

那麼下次git就會忽視這些文件了。

 

簡單來講,出現這種問題的緣由就是Git已經開始管理這些文件了,因此你沒法再經過過濾規則過濾它們。

因此你們必定要養成在項目開始就建立.gitignore文件的習慣,不然一旦push,處理起來會很是麻煩。


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

附上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

其餘版本

java git .gitignore經常使用規則

# Created by .ignore support plugin (hsz.mobi)
.gitignore

# Operating System Files 

*.DS_Store 
Thumbs.db 
*.sw? 
.#* 
*# 
*~ 
*.sublime-* 

# Build Artifacts 

.gradle/
build/
target/
bin/
dependency-reduced-pom.xml 

# Eclipse Project Files 

.classpath
.project
.settings/ 

# IntelliJ IDEA Files 

*.iml
*.ipr 
*.iws 
*.idea 
相關文章
相關標籤/搜索