有了这个模板集合,轻松玩转版本控制中的ignore文件
关于ignore文件
如果你也像笔者一样,在软件开发过程中经常使用版本控制(Version Control)工具来对项目中的代码文件进行管理,那么本文就可以继续阅读下去了。
通常我们会用Git
、SVN
两大工具管理项目代码文件,使用Git的代码托管平台常见有:国外的GitHub和国内的oschina,而使用SVN基本上就是自己搭建的服务器。但是并不是所有的文件都需要添加版本控制,也就是add
操作,对应的状态就是untracked
。
比如,编译过程产生的文件、运行过程中产生的日志文件、本地配置文件等。避免跟踪这些非源码性的自动生成的文件除了能够减少与远程仓库中的更新比对操作,一个非常好的作用在于使开发人员专注于源码级文件的历史变更,更加清晰地掌握项目的版本迭代情况。
所以,选择适当的文件添加ignore信息就显得非常重要了。然而,对于不同的编程语言、不同的编译系统、不同的构建工具,很难找到所有需要添加ignore的文件,经常会出现各种遗漏等选择性错误。如果能有一个东西,就像是一个模板,记录所有环境下的ignore信息,在需要的时候便于查询,那就太合适不过了。所以,本文的重点来了,带给你一个全面的ignore集合。
github/gitignore
github/gitignore ,一个有用的全面的.gitignore
模板集合,GitHub地址:
https://github.com/github/gitignore
从它在GitHub上的关注度(watch、star、fork数量)就可以看出它的追捧度和欢迎度:
这个开源项目搜集了很多个环境下的ignore模版,涵盖了各种编程语言,各种构建工具,并不断更新中,这里我选择性地列举一些:
好吧,穷举不尽,说服力不强,有图有真相,图中信息展示截止至本文发布之时的状态(可放大一览):
ignore.png大家可以打开这个项目的地址,针对自己从事的开发工作寻找对应的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
当然,如果你也可以贡献自己的一份力量,按照项目的贡献规则(Contributing guidelines)提交自己的变更请求,在保证高质量的前提下一起完善这个模板集合,供更多开发者使用。相关操作流程参考README.md
信息。
扩展插件
网上也提供了类似的Android Studio的ignore插件,大家可以看看,如: