關(guān)于ignore文件
如果你也像筆者一樣鸟款,在軟件開發(fā)過程中經(jīng)常使用版本控制(Version Control)工具來對(duì)項(xiàng)目中的代碼文件進(jìn)行管理膏燃,那么本文就可以繼續(xù)閱讀下去了。
通常我們會(huì)用Git
何什、SVN
兩大工具管理項(xiàng)目代碼文件组哩,使用Git的代碼托管平臺(tái)常見有:國外的GitHub和國內(nèi)的oschina,而使用SVN基本上就是自己搭建的服務(wù)器处渣。但是并不是所有的文件都需要添加版本控制伶贰,也就是add
操作,對(duì)應(yīng)的狀態(tài)就是untracked
。
比如,編譯過程產(chǎn)生的文件骇钦、運(yùn)行過程中產(chǎn)生的日志文件汁尺、本地配置文件等。避免跟蹤這些非源碼性的自動(dòng)生成的文件除了能夠減少與遠(yuǎn)程倉庫中的更新比對(duì)操作悴能,一個(gè)非常好的作用在于使開發(fā)人員專注于源碼級(jí)文件的歷史變更窃躲,更加清晰地掌握項(xiàng)目的版本迭代情況嫂伞。
所以方椎,選擇適當(dāng)?shù)奈募砑觟gnore信息就顯得非常重要了聂抢。然而,對(duì)于不同的編程語言棠众、不同的編譯系統(tǒng)琳疏、不同的構(gòu)建工具,很難找到所有需要添加ignore的文件闸拿,經(jīng)常會(huì)出現(xiàn)各種遺漏等選擇性錯(cuò)誤空盼。如果能有一個(gè)東西,就像是一個(gè)模板胸墙,記錄所有環(huán)境下的ignore信息我注,在需要的時(shí)候便于查詢,那就太合適不過了迟隅。所以但骨,本文的重點(diǎn)來了,帶給你一個(gè)全面的ignore集合智袭。
github/gitignore
github/gitignore 奔缠,一個(gè)有用的全面的.gitignore
模板集合,GitHub地址:
https://github.com/github/gitignore
從它在GitHub上的關(guān)注度(watch吼野、star校哎、fork數(shù)量)就可以看出它的追捧度和歡迎度:
這個(gè)開源項(xiàng)目搜集了很多個(gè)環(huán)境下的ignore模版,涵蓋了各種編程語言瞳步,各種構(gòu)建工具闷哆,并不斷更新中,這里我選擇性地列舉一些:
好吧单起,窮舉不盡抱怔,說服力不強(qiáng),有圖有真相嘀倒,圖中信息展示截止至本文發(fā)布之時(shí)的狀態(tài)(可放大一覽):
大家可以打開這個(gè)項(xiàng)目的地址屈留,針對(duì)自己從事的開發(fā)工作尋找對(duì)應(yīng)的xxx.gitignore
文件,查看模板下的ignore信息测蘑,比如Android.gitignore
:
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
# Keystore files
*.jks
當(dāng)然灌危,如果你也可以貢獻(xiàn)自己的一份力量,按照項(xiàng)目的貢獻(xiàn)規(guī)則(Contributing guidelines)提交自己的變更請(qǐng)求碳胳,在保證高質(zhì)量的前提下一起完善這個(gè)模板集合勇蝙,供更多開發(fā)者使用。相關(guān)操作流程參考README.md
信息挨约。
擴(kuò)展插件
網(wǎng)上也提供了類似的Android Studio的ignore插件浅蚪,大家可以看看藕帜,如: