AndroidStudio第一次提交项目代码到git服务器/github

虽然使用AndroidStudio(如下简称as)开发并使用git管理代码已经有很长时间,可是第一次提交项目到git依然会很不顺利,网上的文章或许由于所使用版本比较老,并不必定彻底凑效,所以写此笔记作下整理。git

首先准备工做git客户端和as客户端是不可少的工具,本次使用的是as2.2.2和git2.10.2;github

git:https://git-scm.com/downloads服务器

下载安装后在as里面关联上,点test能够测试一下,弹出版本就说明关联成功app

 

下面我分享三种常见操做方式,以界面交互为主,git命令为辅。ide

首先说明一点,github算是git服务器的一种,另外还有不少可能会使用到的git服务器,好比经常使用的GitLab,或者csdn的代码托管服务等等,都是大同小异。这里以github为例,可是as里面是能够直接share 到github,其余地方貌似不能够直接share,参见第三种方法;前两种是均可以通用的。工具

方法一:先建立项目,后与git链接

一、首先咱们建立一个测试项目GitTest,点击VCS--Enable Version Control Integration,在弹出框右边选上Git。这个时候会发现项目会发生几点变化,鼠标右键点击项目出现Git选项;项目文件颜色变为红色;在as右下角出现Git:master;以下图:测试

 
图1-1

 

 
图1-2
 
图1-3

二、在github上建立远程代码仓库GitTest,注意这里名字能够和项目名字不同;登陆github,进到我的主页,点击切换到Repositories,而后点new建立。能够写上描述,选择公开或私有,也能够选择为项目添加一个README说明文件,以下图:fetch

 
图2-1
 
图2-1

三、切回as,那么在提交项目以前要作一件很重要的事情,就是配置好gitignore文件,咱们将项目展开会发现as已经帮咱们生成了gitignore文件,在项目根目录有一个,在app目录也有一个;那么在app 模块里面很简单只有一行/build,这个咱们不用管,那么在项目根目录的gitignore文件里面的内容咱们能够看一下gradle

 
图3-1

切换到project模式下咱们会发现,项目中的文件并非都变红了,有的是白色的,那么这些没有变红的文件就是被这个gitignore文件忽略掉的,那么咱们关心的是哪些文件应该被忽略掉哪些文件不该该忽略?是as能在编译过程当中自动生成的文件都不该该提交上去;也就是说我传上去的代码,别人拉取下来经过as编译可以正常跑起来,而且这个时候本地不产生能够提交的文件;这些文件主要包括.idea、.gradle、iml文件、以及配置sdk路径的local.properties等等,as为咱们自动生成并非很全面,这里推荐一个github上列出来的https://github.com/github/gitignore/blob/master/Android.gitignore咱们也可使用这个。这个文件以前是把整个.idea文件夹都忽略的,后来又改为只忽略其中部分文件,不知道为何,我认为只要是能够自动生成的就能够忽略,即时每一个人生成的都同样。ui

四、准备好了以后下面开始提交代码了,在项目根目录上右键Git-->Add将代码添加到索引库,而后Git-->Commit Directory提交到本地仓库;到此为止咱们依然没有和github联系上;

五、将代码push到远程仓库Git-->Repository-->push到远程仓库,在弹出框里面输入以前建立的git远程仓库地址https://github.com/AndSync/GitTest.git,点OK,若是没登陆会提示登陆,之前登陆过就不提示了,完了以后点push。

 

 
图5-1

这时候在右上角会有一个提示push rejected ,缘由是咱们本地仓库的master主线并无和远程仓库的master主线绑定上,那么首先Git->Repository-->fetch一下,获取到远程master分支,这时候发现右下角有变化了,显示出来了origin/master,

 
图5-2

而后咱们须要经过命令来完成绑定,在Terminal里面能够输入命令,这段命令怎么来的,其实若是你不用as可视化工具 而是用命令去 git push 的话是会提示给你的,告诉你应该输什么命令,git仍是很智能的,建议仍是多用命令来操做。

git branch --set-upstream-to origin/master

而后咱们再去push 这时候能够了,会弹出一个merge提示框,咱们点merge又报错了,哦是否是由于建立项目的时候有一个文件README,那咱们pull一下看行不行,发现也报错,因而咱们要祭出另外一句git命令来解决这个问题

 
图5-3

git pull --allow-unrelated-histories

容许拉取不相关的历史记录,把README拉取过来了,固然若是你建立项目的时候没有建立README可能没这么麻烦,这时再去push就OK了。整个过程到此结束

方法二:先建立链接,后建立项目

这个怎么玩的呢,简要说明一下,以前不是有安装git客户端,应该在任何地方鼠标右键都有一个菜单Git Gui here -->Clone Existing Repository

 
 

注意本地路径文件夹GitTest2事先不要建立

 
 

clone完了以后,在这个目录下会有一个.git文件夹,和readme文件,那么到这一步咱们也能够发现这种方式貌似并不适用于新建项目,由于这个文件夹里面有文件as将没法在这个目录下建立文件,那么这适用于从别的地方考过来一个已有的项目放到这里,以后从as打开项目进行add、commit、push等操做便可。

方法三:直接share到github

很简单,无需先在github上建立项目,直接share,若是须要修改gitignore文件能够先修改下。

一、VCS-->import into Version Vontrol-->Share Progect on Github

 
 

二、登陆账号

 
 

三、填写信息

 
相关文章
相关标签/搜索