Android Studio使用Git本地版本控制

本文主要介绍如何在Andriod Studio使用Git来进行本地版本控制,不涉及远端仓库(github、gitee),但只要理解了如何在本地管理,远端仓库对你来说就很简单了。

一、下载Git

下载地址: Git - Downloads

打开后根据自己的操作系统进入,也可以直接点击右侧电脑屏幕下载,会自动判断操作系统。

Android Studio使用Git本地版本控制_第1张图片

然后点击下载最新版本,可能会有点慢,多刷新几次,或者科学上网。

Android Studio使用Git本地版本控制_第2张图片

下载完成后就是无脑下一步,也可以更改安装位置,下图选项也可以勾上,会创建桌面快捷方式。

Android Studio使用Git本地版本控制_第3张图片

如果你的开始中出现了Git即代表安装成功,同时对任意文件右键也会出现Git相关选项。

Android Studio使用Git本地版本控制_第4张图片

 二、Android Studio中使用

首先新建一个项目,模板命名都无所谓,不是此处重点。

然后需要创建仓库,点击VCS的Enable Version Control Integration。

Android Studio使用Git本地版本控制_第5张图片

需要选择一种VCS,选择Git,然后OK

Android Studio使用Git本地版本控制_第6张图片

如果出现如下界面,是因为没有按照默认位置安装Git,默认路径找不到,需要重新配置,点击Configure。

Android Studio使用Git本地版本控制_第7张图片

在弹出界面重新设置路径,点击OK即可,仓库就创建成功了。

Android Studio使用Git本地版本控制_第8张图片

以上都是GUI帮助我们完成底层创建,如果想使用命令行实现可以点击Terminal,用命令行来操作Git,相关指令可以自行百度,网上很全。

Android Studio使用Git本地版本控制_第9张图片

同时Android Studio底部也会出现Version Control。

Android Studio使用Git本地版本控制_第10张图片

此时Version Control的Unversioned Files中的文件表示这些文件都没有添加到Git仓库,点击左侧对勾。

Android Studio使用Git本地版本控制_第11张图片

这里需要勾选你想要保存的文件,我这就全选了,下方代码的绿色背景表示这些代码都是新添加的,原来的仓库不存在这些代码,这里的Commit Message因为是演示所以就随便写了,真实项目有自己的书写规范,这里还需要将右侧的对勾取消掉,即不对代码做任何检查,然后点击commit。

Android Studio使用Git本地版本控制_第12张图片

如果第一次使用Git会弹出输入用户名和E-mail,下面的对勾如果选中的话,以后的项目都会默认用此用户名作为作者,输入后点击Set and Commit即可。

如果想要修改,按如下路径找到.gitconfig文件(86186为用户名每个人都不一样)然后记事本打开即可修改。

这里就需要介绍Git的一大特点,即分支管理,一个分支就相当一个单链表,每个节点就是一个版本快照,我们可以通过切换头指针指向的节点来实现版本控制。每个项目都有一个master分支,我们对项目进行开发和修改时一般不在此分支上进行,而是新建一个开发分支来进行,当完成一个新功能后就将开发分支的最后一个节点和master分支的最后一个节点合并,这样就实现了一次更新。

以上步骤可以简化为一下三步:

1.创建开发分支

2.在开发分支上完成新功能

3.将开发分支和主分支合并

下面就来实际操作一下:

Version Control的log中可以看到进行的Git操作,init为刚才输入的Commit Message,第一条分支名默认为maser,因为只有当前一个版本所以头结点就是这个版本,类似单链表。

Android Studio使用Git本地版本控制_第13张图片

创建新分支:在Version Control中右键点击New Branch。

Android Studio使用Git本地版本控制_第14张图片

输入分支名即可,我这里新建了一个dev分支。

Android Studio使用Git本地版本控制_第15张图片

此时可以对项目进行一些修改,我这里简单修改了一下布局

Android Studio使用Git本地版本控制_第16张图片

此时已经识别到改变,点击左侧对勾进行提交,

Android Studio使用Git本地版本控制_第17张图片

写一些提交信息,可以包括新增功能或修复哪些bug之类,尽量详细一些,对后续有帮助。

Android Studio使用Git本地版本控制_第18张图片

可以看到此时头结点为修改后节点,分支为新创建dev分支

Android Studio使用Git本地版本控制_第19张图片

如果在修改时忘了一些要修改的内容,同时还不想再创建一个节点,可以使用修订

我这里对布局又进行了一些修改,再点击左侧对勾commit。

Android Studio使用Git本地版本控制_第20张图片

再将Amend commit勾选上,然后commit。

Android Studio使用Git本地版本控制_第21张图片

可以看到没有创建新的节点。

Android Studio使用Git本地版本控制_第22张图片

接下来完成代码逻辑部分,即点击按钮让textView的值+1,代码任意形式都可以,只要能完成功能即可,本文主要是Git应用,代码的书写不在考虑范围内。

Android Studio使用Git本地版本控制_第23张图片

这里可以看到已经保存过的代码前面为淡蓝色(本人色弱你说啥色就啥色),未保存为绿色,点击绿色竖条会有一个快捷窗口,上下箭头就是在这几个竖条部分移动,撤销是将新添加这部分撤销,对比可以与之前提交过的代码进行对比,即下下图:

Android Studio使用Git本地版本控制_第24张图片

对比界面:

Android Studio使用Git本地版本控制_第25张图片

然后再次提交。

Android Studio使用Git本地版本控制_第26张图片

此时应该有三个节点。

Android Studio使用Git本地版本控制_第27张图片

这时候我们已经做完一个功能了,需要将dev分支和master分支整合到一起。

首先将头结点指向master,在master分支上右键然后在Branch'master'中找到Checkout,可能因为Android Studio版本不一样,Checkout位置也有所差异,找一下就好了

Android Studio使用Git本地版本控制_第28张图片

然后点击VCS中Git的Merge Changes

Android Studio使用Git本地版本控制_第29张图片

master是当前分支,dev是要合并分支,选中dev后点击Merge即可,这里一定要看清楚,不然就合并反了。

Android Studio使用Git本地版本控制_第30张图片

这时候我们已经完成了一个功能,应该设置一个Tag作为标签,标志着我们的项目进入1.0状态。

右键最新节点,点击NewTag。

Android Studio使用Git本地版本控制_第31张图片

起一个名字然后OK。

Android Studio使用Git本地版本控制_第32张图片

可以看到多了一个灰色标签。

Android Studio使用Git本地版本控制_第33张图片

然后继续进行开发,需要将头结点指向dev,不要在头结点指向master时开发,而是在另一条分支dev上进行,功能完善后再和master合并,以保证安全性,在最新节点上右键CheckOut,如果不知道现在在哪一条分支可以先点击一下CheckOut,然后观察左侧提示,现在就是切换到dev分支上了。

Android Studio使用Git本地版本控制_第34张图片

然后这里新增一个减1的功能,和刚才一样先修改布局,然后提交,在完成代码逻辑部分,然后提交,最后将dev分支和master分支合并,再设置一个标签v2.0代表又完成了一个功能,相信你一定可以的,唯一注意的是别忘了切换头结点,同时还有一个小功能,在提交页面可以点击这个钟表直接修改以前的信息来用,能方便一些(应该)

Android Studio使用Git本地版本控制_第35张图片

现在我们在添加一个新功能,能够直接清零,我们通过菜单来实现。

先添加一个菜单资源。

Android Studio使用Git本地版本控制_第36张图片

Android Studio使用Git本地版本控制_第37张图片

点击OK后询问我们是否将这个文件加入到Git仓库,点击Add。

Android Studio使用Git本地版本控制_第38张图片

设置菜单布局,然后commit。

Android Studio使用Git本地版本控制_第39张图片

然后编写代码,可以看到我只写了一部分,因为此时项目出现了一个非常紧急的bug,即点击屏幕旋转会导致数据丢失,需要我们去紧急修复,开发需要暂停。

Android Studio使用Git本地版本控制_第40张图片

Android Studio使用Git本地版本控制_第41张图片

此时来不及等新功能开发完在修复了,所以需要将已经完成的部分暂存,等修复完毕后再继续完成

这里有三种方法暂存代码,第一种是直接checkout到master分支,系统会自动帮我们暂存,第二种是使用Git自带的Stash Changes指令,点击VCS中Git的Stash Changes

Android Studio使用Git本地版本控制_第42张图片

第三种是IDE特有的指令,VCS中的Shelve Changes

Android Studio使用Git本地版本控制_第43张图片

点击后做一些简单描述的然后暂存

Android Studio使用Git本地版本控制_第44张图片

可以看到Version Control新增了一列,这就是我们暂存的代码,点击左侧按钮可以将暂存的代码添加回去。

Android Studio使用Git本地版本控制_第45张图片

现在我们就可以去处理Bug了,首先将头结点转移到master分支,然后新创建一个分支,而不是在master分支上进行修改,否则一旦出现问题,我们连一个有Bug的版本都没有了,我们新建一个fix分支进行修复Bug。

Android Studio使用Git本地版本控制_第46张图片

花了一些时间将Bug修复,然后commit。

Android Studio使用Git本地版本控制_第47张图片

Android Studio使用Git本地版本控制_第48张图片

修复完成后将master和fix整合,将头结点checkout到master分支,然后整合,整合时选择fix分支

Android Studio使用Git本地版本控制_第49张图片

此时可以设置一个Tag标签v2.1,代表我们修复了一个Bug。

然后我们就可以继续开发了,在开发前我们还需要做一些事情,因为我们刚刚只是在master分支上修复了一个Bug,所以也需要在dev上修复这个Bug,将头结点checkout到dev分支上,然后和fix分支进行整合。

Android Studio使用Git本地版本控制_第50张图片

此时它会弹出一个之前没出现过的框,这是因为代码出现了冲突,需要我们收到决定保留哪些代码,点击Merge。

Android Studio使用Git本地版本控制_第51张图片

又出现了一个新框,这里我们需要将所以代码保留,即点击所以的双箭头。

红色背景表示代码冲突部分,需要我们决定是否保留,绿色表示不冲突。

下图三块区域代表当前版本dev、最终版本、要和并版本fix,点击箭头可以保留代码,叉号删除代码,这里我们需要保留全部代码。

Android Studio使用Git本地版本控制_第52张图片

中间就变成这个样子了,然后Apply,再commit一次,如果已经提交了就不用管了。

Android Studio使用Git本地版本控制_第53张图片

此时fix分支就已经不需要了,可以删除,右键fix分支,在Branch'fix'中选择delete即可

Android Studio使用Git本地版本控制_第54张图片

现在Bug修复了我们可以继续在dev分支进行开发了,先将之前暂存的代码恢复,选中要恢复的代码,然后点击左侧第一个按钮,就成功恢复了。

Android Studio使用Git本地版本控制_第55张图片

Android Studio使用Git本地版本控制_第56张图片

将功能完成,然后commit

Android Studio使用Git本地版本控制_第57张图片

这里因为是在暂存里做的改变,所以要选中下面这一条进行commit,否则会提示没有检测到改变,就无法commit。

Android Studio使用Git本地版本控制_第58张图片

提交后会提示你暂存已经不需要了是否删除,点击Remove删除掉。

Android Studio使用Git本地版本控制_第59张图片

之后就是老一套,移动头结点,将master和dev整合再给个Tag v3.0。

下面还有一种情况:项目要使用一种新的技术或要对代码进行重构优化,这时候也是去新建一个分支,在完成后先和dev分支整合,进行测试,没有问题后在和master分支整合,最后再将新分支删除,原理大同小异,这里不做展示了,有兴趣可以自己做一下。

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