上传代码到github

android studio里集成了上传代码到github的功能,所以使用上还是很简单的,设置里添加账号并测试,之后就可以很方便地上传代码到github了

如果你的项目是使用android studio新建的,那么关于github基本就没什么问题了。android studio新建项目是自带.ignore文件的,也就是说默认是使用了忽略规则上传。默认忽略的是

*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures

但是如果你的项目是之前从eclipse导入的,这里你就要注意了,按照上述操作,在github上新建项目后,在接下来的同步选项中,你会看到项目里的所有文件都会被上传,包括apk、iml、idea文件夹、gradle文件夹等。

很明显,我并不需要把每次编译就发生变动的文件(例如debug的apk文件)都上传,我需要有所忽略的上传,这也正是.ignore文件的作用。为了使用忽略规则,我拷贝了.ignore文件进项目,再重复上传操作,文件并没有起作用,后来进过一番探索,发现要这样操作:

  1. 移除已有的版本控制:

  1. 关闭android studio,进入项目的文件夹中删除.git文件夹(如果没有看到该文件夹请打开显示隐藏文件选项)
  2. 复制一份.gitignore文件到项目根目录(可使用as新建项目,其根目录就有该文件,或使用插件.gitignore生成,插件在as里搜索就有)附上我使用的忽略规则:
*.iml
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
/build
/captures
# OSX
*.DS_Store
# Gradle files
build/
.gradle/
*/build/
# Intellij project files
*.iml
*.ipr
*.iws
.idea/
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Eclipse project files
.classpath
.project
# Generated files
antLauncher/bin
antLauncher/gen
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Log Files
*.log
  1. 启动as,将项目加入版本控制

再重复之前的操作,import into Version Control--share Project onGithub,这样就使用上了忽略规则上传代码到github。

之后每次commit只需要右键项目,先点击add添加版本,再点击commit上传

以及查看历史、对比版本等,使用都比较简单,不必赘述。

导入github上的项目

除了上传自己的代码到github,方便进行版本控制外,我们还经常需要导入github上别人的优秀项目进行学习,在android studio新建项目时就可以很方便的从github上直接导入项目

然并卵。。理想很美好,现实很残酷。因为国内网络环境的问题,使用这种方式导入github的项目,十有八九会因为gradle版本不同而被各种gradle错误搞得生不如死,这里分享一些快速而又愉快的离线导入github项目的方法:

  1. 从github上下载项目,举个栗子,项目名字为Test

  2. 修改第一个文件,位置位于根目录,即Test\build.gradle

    将红框所示的地方改成你的gradle版本,如果不知道自己的gradle版本,很简单,新建一个项目看它的gradle版本是多少

  3. 修改第二个文件,位置位于目录 Test\gradle\wrapper\gradle-wrapper.properties

    将红框所示的地方改成你的gradle版本

  4. 修改第三个文件,位置位于目录Test\app\build.gradle,修改项目的buildToolsVersion 版本号

就我所遇到的情况,一般修改这两个文件后就可以正常导入项目了。再也不会被gradle的问题困扰。以上。

最新文章

  1. WPF绑定到集合
  2. js实现下拉菜单
  3. PHPDocument 代码注释规范总结
  4. Windows上成功编译CoreCLR源代码
  5. 那些臭名昭著的sql
  6. UI auto test
  7. 从InputStream到String_写成函数
  8. 把USB打印机映射到LPT端口
  9. MyEclipse使用问题及解决方法
  10. Java代码编写规范(不是标准规范,自行整理,无须纠结)
  11. python进阶学习(一)
  12. 关于t,f test
  13. Dagger2源码浅析
  14. eclipse中解决git分支合并冲突
  15. javascript之复习(框架里的方法们)
  16. python 内置数据类型之字符串
  17. Node学习笔记(二)
  18. C++解析 xml,用到pugixml库
  19. 【代码笔记】Web-JavaScript-JavaScript输出
  20. html与js和php之间实现数据交互

热门文章

  1. 败家玩意儿!Redis 竟然浪费了这么多内存!
  2. D. Numbers on Tree(构造)【CF 1287】
  3. LeetCode 045 Jump Game II
  4. fist-冲刺第二天随笔
  5. 【进阶之路】定时任务调用平台xxl-job
  6. C#Excel导出注意事项
  7. moviepy音视频剪辑:视频基类VideoClip子类VideoFileClip、CompositeVideoClip、ImageSequenceClip介绍
  8. 第10.4节 Python模块的弱封装机制
  9. 【JAVA并发第一篇】Java的进程与线程
  10. WinForm 加载大数据时不闪烁的ListView