在使用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 "you@example.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 "you@example.com" git config --global user.name "
原来是git没有配置的原因,找到git安装目录下的Git Bash运行后输入下面两行代码即可:
- git config --global user.email "you@example.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