在Git的版本控制中,可能有些文件是不需要加入控制的,那我們?cè)谔峤淮a時(shí)就需要忽略這些文件,下面講講應(yīng)該怎么給git配置一些忽略規(guī)則。
有三種方法可以忽略掉這些文件,這三種方法都能達(dá)到目的,只不過(guò)適用情景不一樣。
(1).針對(duì)單一工程排除文件,這種方式會(huì)讓這個(gè)工程的所有修改者在克隆代碼的同時(shí),也能克隆到過(guò)濾規(guī)則,而不用自己再寫(xiě)一份,這就能保證所有修改者應(yīng)用的都是同一份規(guī)則,而不是張三自己有一套過(guò)濾規(guī)則,李四又使用另一套過(guò)濾規(guī)則,個(gè)人比較喜歡這個(gè)。配置步驟如下:
在工程根目錄下建立.gitignore文件,將要排除的文件或目錄 寫(xiě)到.gitignore這個(gè)文件中,有兩種寫(xiě)入方法。
(a)使用命令行增加排除文件 排除以.class結(jié)尾的文件 echo “*.class” >.gitignore (>> 是在文件尾增加,> 是刪除已經(jīng)存在的內(nèi)容再增加),之后會(huì)在當(dāng)前目錄下生成一個(gè).gitignore的文件。排除bin目錄下的文件 echo “bin/” >.gitignore(b)最方便的辦法是,用記事本打開(kāi),增加需要排除的文件或目錄,一行增加一個(gè),如:
*.class
*.apk
bin/
gen/
.settings/ proguard/
(2).全局設(shè)置排除文件,這會(huì)在全局起作用,只要是Git管理的工程,在提交時(shí)都會(huì)自動(dòng)排除不在控制范圍內(nèi)的文件或目錄。這種方法對(duì)開(kāi)發(fā)者來(lái)說(shuō),比較省事,只要一次全局配置,不用每次建立工程都要配置一遍過(guò)濾規(guī)則。但是這不保證其他的開(kāi)發(fā)者在克隆你的代碼后,他們那邊的規(guī)則跟你的是一樣的,這就帶來(lái)了代碼提交過(guò)程中的各種沖突問(wèn)題。配置步驟如下:
(a)像方法(1)一樣,也需要建立一個(gè).gitignore文件,把要排除的文件寫(xiě)進(jìn)去。
(b) 但在這里,我們不規(guī)定一定要把.gitnore文件放到某個(gè)工程下面,而是任何地方,比如我們這里放到了Git默認(rèn)的Home路徑下,在我的windows上就是C:\Users\zhbpeng
(c)使用命令方式可以配置全局排除文件 git config --global core.excludesfile /.gitignore,你會(huì)發(fā)現(xiàn)在/.gitconfig文件中會(huì)出現(xiàn)excludesfile = c:/Users/zhbpeng/.gitignore。說(shuō)明Git把文件過(guò)濾規(guī)則應(yīng)用到了Global的規(guī)則中。(3). 單個(gè)工程設(shè)置排除文件,在工程目錄下找到.git/info/exclude,把要排除的文件寫(xiě)進(jìn)去:
*.class
*.apk
bin/
gen/
.settings/
proguard/
這種方法就不提倡了,只能針對(duì)單一工程配置,而且還不能將過(guò)濾規(guī)則同步到其他開(kāi)發(fā)者,跟方法(1)(2)比較起來(lái)沒(méi)有一點(diǎn)優(yōu)勢(shì)。