Android Stuido集成git

yeyeyeyeye

一.下载git

直接到官网https://git-scm.com/下载git然后直接安装。

二.Android Studio配置

1. 集成git到AS中

打开setting配置

然后点击Test可以看到有没有设置成功。
然后我们可以把项目建一个本地仓库,有两种方法,第一按下图的做

第二可以打开文件夹在空白处 “右键”-> “Git Base Here”(如果没这个选项说明git没装成功) -> “输入 git init”回车
两种方法都能在文件夹中产生一个.git的隐藏文件夹,看不到就打开隐藏文件的选项。
做完这步之后,我们就可以把代码给提交到本地仓库了。

2.登录

我们都知道git是要登录的,也就是要设置你的用户名称与邮件地址。
一般的做法是在命令行这些做

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

但是在AS中,我们直接第一次提交的时候,他会自动弹出来让我们输入:
在左下角选“Version Control” -> “Local Changes” -> “右键选Commit”->“Commit”

其实在这里Commit 时可以选个Commit and Push , 或者也可以在Git中选push

都会弹出这样的页面

因为没有进行关联远程仓库,所以会显示这样,我们点击Define remote

现在我在gayhub上随便建个仓库,建仓库就不用详细说了吧
建完之后把仓库的地址输入到URL中点OK,就能显示详细的Push信息了。

现在点我们Push试试,最后发现会弹出个gayhub让我们登陆

然后我Push的情况就会出现了三种情况
(1)Push时的进度条一直卡着不动,不知道是因为第一次直接Push太多导致的,还是网速导致的。
然后我就新建了一个仓库和一个代码少的Demo重写Push
(2)提示 Push to origin/master was rejected

就说了被拒绝,没有说详细的原因。好像是因为我在创建仓库的时候选了

上面有注释有说“如果要导入现有存储库,请跳过此步骤”,所以我再创一个新仓库不选该选项
(3)然后就能正常的Push上远程仓库了。

Push成功之后,可以打开分支就能看到远程分支的选项。

3.小结

我忘记我第一次是怎么集成的了,好像配置了很多东西,不知道是因为我当时不熟悉还是怎样。但是从这里看出,这个版本的AS集成git不会很麻烦,直接操作就行,它会自动的弹出需要的东西让你输入,也不用自己去输什么命令。

三. 在Android Studio中对代码的管理

在上边我们已经能正常的集成了git到项目中,但是每次开一个新的项目的时候都要集成一次。
当你创建完git仓库之后,就能在VCS中找到Git选项,里面就是对Git的操作

首先如果想要加入新的远程仓库,可以点击Remotes选项

这样就能加入一个远程仓库,注意,有时候底部找不到Version control

可以从这个地方调出来

从上面的做法是在本地先创建仓库,再把仓库的内容push到远程仓库。现在试试本地没创建仓库的情况直接把远程仓库的代码拉下来。
很简单,最直接的方法是创建新文件夹,然后因为我们电脑有git环境的关系,可以直接右键空白处git base here , 然后输入命名 git clone 你的连接。但是我们讲的是AS,那就用AS的方法。
随便打开一个项目, 然后按照下面的方法选择


然后输入你的远程仓库的url,点Test看看是否有效,然后选择克隆到哪个文件夹,然后点clone。成功之后会提示你是否打开项目(我的AS版本会这样提示,版本不同可能效果也不同)

顺便可以说一下,有个新人可能克隆下来的项目打开之后构建失败,配置下gradle就行,一般都是Gradle版本引起的,因为默认它会帮你载入gradle的最新版本,各种原因会出错,只需要把gradle版本降低到稳定的版本就可以。

1.基本操作

按列表的顺序来看,前面两个,一个commit表示提交,一个Add表示新增,没什么好说的。

2.annotate

感觉这个功能我也没怎么用得上,可能提交不是很频繁的原因吧。这是一个注释的功能
那么有什么用呢,点击之后代码的左边会出现一个注释框

简单显示对应那行的代码的提交时间和作者。把鼠标移动过去可以显示详细的内容

显示commit的那个id,还有时间注释。如果你一个文件修改多次,androidstudio会让它每次都显示不同的颜色,这非常的赞

仔细看可以看到我提交4次显示4种颜色,然后并没什么用,基本用不上这个功能。

3.show current revision

点击之后也只会弹出一个最新修改的提示

一般看这个也不会在这里看,或许因人而异吧。

4.compare with the same repository version

点击之后就会弹出一个提示框对比你改之后和最新commit的代码有什么不同,一般可能比有时候改得代码多,然后忘记之前是怎样了,想参考一下,这时候就可以使用这个功能,比如我添加一行代码会显示这样

5.compare with

这个功能和上一个差不多,不过它可以选择和历史版本做对比,比如我选择和我的第一个版本做对比

6.compare with branch

这个功能牛逼了,也是比较代码不同,不过这是和其它分支进行比较,比如我现在创建一个新分支然后加一行注释,再和原分支进行比较

可以看出两个分支中这个问题的不同,虽然这个功能用得也不多,但是可以说非常方便,你总不能为了看代码不同而切分支吧。

7.show hostory

这个没什么说的,就是展示历史的提交记录

8.revert

这个是回退版本,比如你改动很大,但你又想变回之前的那样,就选这个。

9.resolve conflicts

这是解决版本冲突的功能。

10. branches

这个是选择分支,其实在android studio的右下角也可以选择,比在这里点击方便很多。

11.tag

这是一个打tag的操作,在Push的时候会有个选项,可以选择设置的tag上传

然后看看远程仓库,比如github,在上面能考到所以tag

12.merge changes

点击之后,就会弹出一个提示,可以把这个分支中分出的分支合并到当前分支中,有点绕,差不多就是那种feel。

比如我们之前创的分支testone,选它后点击merge
最后把选中的分支的代码合并到当前分支中,这个不要演示,但应该很好理解。
注意,合并之后就相当于直接帮你做了一步commit的操作,如果想变回合并前的样子,那就只能回退版本了。

13.reset HEAD

先讲这个吧,接着上面的说,这个是回退版本

14.stash changes 和 unstash changes

这是一个暂时保存修改的功能,点击之后会弹出一个窗口

输入stash的message之后创建stash,点击之后代码会存到stash然后变回原先的代码。这个还挺有用的,稍微详细说说,比如原本代码这样。

我们现在加一行代码

然后stash到mmp1,之后代码就会变成最原先的那样,然后我们重新输入一行代码

然后stash到mm2
之后我们选择unstash changes

可以看到我们之前暂存的两个都在,然后选着第一个点击apply stash,就能恢复到第一次加代码的情况。
注意,这个暂存即使切换分支之后,也是可以使用之前分支的暂存,所以是针对所有的代码而不是仅仅针对某个分支。
还有如果你修改代码后不提交直接切换分支,会提示

如果选着这个,他会自动帮你创建一个state

15.remotes

这个最上边有说过,就是连接远程仓库

16.clone

就是克隆代码,可以选择克隆哪里的代码到哪个文件夹,这个功能和项目没有关系。

17.fetch、pull、push

这3个都是基础的操作,就不用说了。



那么这个目录的所有操作都简单讲完了。当然这样还没完,右下角的git菜单中还可以对分支做一些操作

new branch就是创建分支
checkout 切换分支
checkout as 创建一个新分支并且切换
compare with也会弹出一个列表看到代码的改变的不同
rename修改分支名称,delete删除分支
Merge into current

这个是把选中分支的代码合并到当前分支,这个我使用得比较多,比如说你在master中开启一个分支,然后写代码,这时候master更新了代码,你就需要用Merge into current吧master更新的代码合并到这个分支中。

不仅如此,如果你按照我上面的方式打开了Version control视图,Version control视图中也可以做一些关于Git的操作,可能在这里做操作的会比较多

loacal changes可以看到修改的修改的内容
Log 可以看到提交的记录
Console 是日志,可以看到做某个操作所输入的命令和结果的日志

四.总结

操作太多了,是有点讲不下去了,只是举了一点栗子来说,有的人可能还会使用一些androidstudio的插件来操作git,所以是讲不完的,但是万变不离其宗,只要知道git的一些常用操作和原理,基本哪个功能效果怎样都会很清晰,这篇是为了讲讲集成,不谈论原理,如果以后有机会再做个总结吧。

你可能感兴趣的:(Android,Android,git)