在使用studio开发的项目过程中有时候我们想将项目发布到github上,以前都是用一种比较麻烦的方式(cmd)进行提交,最近发现studio其实是自带这种功能的,终于可以摆脱命令行了。
因为自己也没有做很深的研究,这里就先分享一下通过studio将自己的项目上传到github上的步骤。
两个相关概念:Git和github
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
github作为开源代码库以及版本控制系统,它是一个网站,给用户提供git服务.这样你就不用自己部署git系统直接注册个账号,就可以用他们提供的git服务。GitHub可以托管各种git库,并提供一个web界面,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。
准备
安装Androidstudio并新建一个工程;
安装git版本控制系统.如Git GUI;
在github网站上注册一个账号.
步骤
1 studio的git配置;
安装好git后启动Androidstudio,打开如下路径File->Settings->Version Control(展开)->git
在Path to Git executable后面的输入框输入你安装的git路径,如下图所示:
点击test按钮如果出现 Git executed successfully 对话框说明配置成功,同时对话框会显示你安装的git版本号;如下图所示
2 配置github登录信息;
打开如下路径File->Settings->Version Control(展开)->GitHub,如下图所示
填入如下信息:
Host:github.com
Login:你的github账户名
Password:你的github账户密码
填完之后点击test按钮,如果出现如下对话框说明配置成功,注意,新版的git的储存目录为 D:\Program Files\Git\cmd
3上传工程到github
打开你要上传的工程,顶部菜单选择VCS->Import into Version Control->Share Project on GitHub,如下图所示:
如果你是第一次提交该项目会出现如下对话框,提示你这是一个新的存储库(repo),可以自定义repo的名字,和添加描述。
填写完毕点击share按钮如果你的工程没有问题会出现如下界面
这里列出了将要提交的类,以及各种资源配置文件等等,点击ok按钮
注意:这一步容易出现上传失败,究其原因,是没有在git-bash中进行配置:
今天博主正在愉快地学习在AndroidStudio中使用Git,结果报了下面这个错∑(っ°Д°;)っ:
Can't finish GitHub sharing process
Successfully created project 'Demo' on GitHub, but initial commit failed:
*** Please tell me who you are. Run Git config --global user.email "aaa@qq.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident name (for (null)>) not allowed during executing git -c core.quotepath=false commit -m "Initial commit" --
看了一下错误原因:Run git config --global user.email "aaa@qq.com" git config --global user.name "
原来是git没有配置的原因,找到git安装目录下的Git Bash运行后输入下面两行代码即可:
- git config --global user.email "aaa@qq.com"
- git config --global user.name "Your Name"
问题解决接着继续:
输入你的Master password点击ok,如果提交成功studio右上角会提示相关信息
此时打开你的github网站地址在你的repositories中会看到刚刚提交过的工程名称,点击进去会看到完整的提交工程,到此提交结束
项目更新
当项目新增了模块或者模块修改了如何更新github上的项目,其实也很简单。
1 如果你的项目新增了一个类,当你创建该类的时候会提示你是否需要加入git,如下图所示
选择yes该类就会加入git,同时该类本身的颜色会有改变(Darcula主题下由正常的白色变为绿色)
此时该类右击->Git->COmmit File... 出现如下对话框
填写 commit message 后点击Commit按钮,有可能会出现如下警告,忽略它点击Commit
再次右击->Git->Repository->Push,如下图所示
点击Push出现如下对话框,点击Pust按钮
此时打开你的github上的该项目源码,你会发现新增的类已经出现了
2 如果你的项目中某个类进行了修改需要重新提交;
右击该类->Git-Add
感觉这步没什么变化?其实不是,这步其实是吧该类加入到git中;
以后的步骤和新增类的操作一样,这里不再赘述。
让我们先看看Git 跟 GitHub 是什么关系?
git是一个版本控制工具
Github是一个用git做版本控制的项目托管平台。
如果要想在AndroidStudio将项目发布到Github上, 第一步当然是安装Git(Git for windows 下载地址)。
在此之前,一定要拥有Github的账号。
-
安装Git
在windows安装Git很简单。只需要默认安装就可以。无需过多的配置。
需要教程的同学看这里 Windows下安装最新版Git 配置AndroidStudio 中的Git
先创建一个Android测试项目
然后设置AndroidStudio
将git.exe路径配置好
将创建好的项目分享到Github 点击后去让你登陆Github 下图
登陆后 验证通过会跳出下个对话框
创建仓库 点击Share
点击OK这时候就可以把项目发布到GitHub上了 稍等一会 到GitHub 上看一下 是不是已经上传上来了呢?
接下来让我们创建个新文件
创建后 AndroidStudio会弹出下面对话框 这时候要点击Yes
在修改一下MainActivity ,作为测试用。
点击主面板上的 Commit Changes 按钮 并填写 提交信息 点击commit 。
继续点击commit
这时候 你会跑去GitHub上 看看有没有上传成功。 发现项目并没有改动
别着急,我们还需要一步操作
将项目push到 Github
点击Push 弹出下图后 在去网页端看看 ,是不是已经上传到Github上了
.gitignore
到这儿,已经将项目发布到Github上了,并且已经学会了提交。 此时,聪明的你也可能发现了,有些文档是没有必要提交到Github上的。那就要用到.gitignore
来!让我们脑补一下 Android Studio项目应该提交哪些文件到GitHub上?
#我用的是这份
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Eclipse project files
.classpath
.project
# Android Studio
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
# Signing files
.signing/
# User-specific configurations
.idea/libraries/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
*.iml
下次再提交的时候 AndroidStudio 会自动忽略掉不需要上传的文件。
删除GitHub仓库
如何删除Github仓库呢 ? 很简单
点击setting