当前位置:   article > 正文

使用Git版本控制 .gitignore 忽略不需要提交的文件_gitignore 没有忽略 .gradle

gitignore 没有忽略 .gradle

团队协作开发的时候,每个人都要提交文件,为了避免不必要的文件提交,我们要进行一个简单的配置来忽略一些文件,只提交必要的文件。

https://segmentfault.com/a/1190000002963895

 

应各位朋友的要求,写这篇文章,让我们来简单了解下Android Studio中不同目录(文件)的位置和用途。
首先看下一个App的最简单的目录结构


【= = 好复杂的样子】

OK,我们这么看,第一,把这么多文件先分成这么三块
1. 编译系统(Gradle
2. 配置文件
3. 应用模块

Gradle是Google推荐使用的一套基于Groovy的编译系统脚本(当然,你也可以使用ant),具体的介绍和文档可以参考这个传送门:https://developer.android.com/tools/building/plugin-for-gradle.html
如果你学会之后,会对Android项目的编译了如指掌(总之非常爽~),它的缺点目前是效率不高,然后因为有功夫网的存在,所以在bintray上下载依赖会比较慢。

上面那个图中出现gradle字眼的就是gradle相关的一些文件。
Android中使用Gradle WrapperGradle进行了一层包装,我猜测这么做的原因是因为gradle更新速度实在太快,为了兼容性着想,才出了这么一套方案。(如果觉得这个猜想有问题请指正)
gradlew相关的文件就是和Gradle Wrapper有关。我们对除了app文件夹以外的文件列一下。

文件(夹)名用途
.gradleGradle编译系统,版本由wrapper指定
.ideaAndroid Studio IDE所需要的文件
build代码编译后生成的文件存放的位置
gradlewrapper的jar和配置文件所在的位置
.gitignoregit使用的ignore文件
build.gradlegradle编译的相关配置文件(相当于Makefile)
gradle.propertiesgradle相关的全局属性设置
gradlew*nix下的gradle wrapper可执行文件
graldew.batwindows下的gradle wrapper可执行文件
local.properties本地属性设置(key设置,android sdk位置等属性),这个文件是不推荐上传到VCS中去的
settings.gradle

和设置相关的gradle脚本

这些就是外部文件相关的一些文件的介绍。我们来看下更重要的app模块里的文件


这是app模块下的文件目录结构,介绍下他们的用途

文件(夹)名用途
build编译后的文件存在的位置(包括最终生成的apk也在这里面)
libs依赖的库所在的位置(jaraar)
src源代码所在的目录
src/main主要代码所在位置(src/androidTest)就是测试代码所在位置了
src/main/assetsandroid中附带的一些文件
src/main/java最最重要的,我们的java代码所在的位置
src/main/jniLibsjni的一些动态库所在的默认位置(.so文件)
src/main/resandroid资源文件所在位置
src/main/AndroidManifest.xmlAndroidManifest不用介绍了吧~
build.gradle和这个项目有关的gradle配置,相当于这个项目的Makefile,一些项目的依赖就写在这里面
proguard.pro代码混淆配置文件

以上就是对Android Studio目录结构的简单介绍~

这样我们可以看出有些文件是不需要提交到远程仓库的,

 

  1. 比如项目根目录下的:
  2. .iml 这个文件是自动生成的,一般是项目的配置 这些每个人本地环境不一样,可能具体内容也不一样,所以不需要VCS。
  3. local.properties 这个在android 项目中是 关联的 sdk路径 。
  4. .gradle 文件夹 这个是Gradle 编译系统 这个也不需要提交。
  5. .idea 文件夹 这个是IDE(集成开发环境) 的一些配置 也不需要提交。
  6. build 文件夹 这个是编译后存放文件的地方 也不需要提交
  7. 而在我们的每一个module 目录下:
  8. 只需要忽略
  9. build文件夹 和 .iml 文件即可

 

 

 

 

 

接下来 我们就对着目录 配置我们的gitignore 文件就可以了。

在项目的根目录下的 .gitignore 文件我们一般配置如下:

 

  1. # Created by .ignore support plugin (hsz.mobi)
  2. .gradle
  3. /local.properties
  4. /.idea/workspace.xml
  5. /.idea/libraries
  6. .DS_Store
  7. /build
  8. /captures
  9. # Built application files
  10. *.apk
  11. *.ap_
  12. # Files for the Dalvik VM
  13. *.dex
  14. # Java class files
  15. *.class
  16. # Generated files
  17. bin/
  18. gen/
  19. # Gradle files
  20. .gradle/
  21. build/
  22. # Local configuration file (sdk path, etc)
  23. local.properties
  24. # Proguard folder generated by Eclipse
  25. proguard/
  26. # Log Files
  27. *.log
  28. # Others
  29. .idea/
  30. *.iml


在我们每一个module 下面的 .gitignore  则比较简单 一般如下所示:

 

 

  1. /build
  2. *.iml

 

配置好这些后,以后我们提交文件 就不会提示那么多没用的文件了。

 

 

再上传一个忽略规则:

当然 .gitignore 要生效的前提是 要忽略的文件 没有被加入到VCS 中,如果远程仓库已经有了这些文件,我们在用.gitignore去忽略是不会生效的。

https://segmentfault.com/q/1010000000430426 这是对于已经在远程仓库 上的 解决办法。

当然这是有缺陷的,最好的办法还是:

 

 谢谢认真观读本文的每一位小伙伴,衷心欢迎小伙伴给我指出文中的错误,也欢迎小伙伴与我交流学习。

[点击链接加入群聊【编程之美】: https://jq.qq.com/?_wv=1027&k=h75BfFCg](https://jq.qq.com/?_wv=1027&k=h75BfFCg)

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/435356
推荐阅读
相关标签
  

闽ICP备14008679号