又到周五了,这周过的最快,因为只有三天,就总结一个简单的东西吧——Android项目中Git忽略文件.gitignore的写法。
为什么要有忽略文件
在push项目的时候只需要上传必要的项目代码部分,有些编辑器构建项目时临时生成的或者重要的签名文件是没有必要上传到远程的,即忽略这些文件的上传。这样既能快速的上传项目也保证了远程项目的简洁性,同时也保证了项目的安全性。
创建git忽略文件
对于git忽略文件需要做的步骤如下:
- 在项目目录下找到.gitignore文件(一般有两个地方存在该文件:一是根目录下,一是app目录下),如果没有找到该文件就创建一个 。该文件主要写明需要忽略的文件。
- 对于Android项目来说,有一个标准的需要忽略的文件(当然,也可以根据自己的项目而定),在GitHub上去下载Android.gitignore文件。
git忽略文件写法规则
git忽略文件.gitignore的主要写法规则为:
- “#”表示注释;
- “*”表示通配符,可多个;
- “/”表示目录;
- “!”表示不忽略匹配到的文件或目录;
- “?”表示通配单个字符;
- “[]”表示包含单个字符的匹配列表;
git忽略文件不生效解决办法
把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
自己的例子
自己抽取的.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
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# IntelliJ
*.iml
.idea/
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# MacOS temp files
.DS_Store
# Keystore files
# Uncomment the following line if you do not want to check your keystore files in.
#*.jks
####################################################################################################