Android Studio使用Git提交、分支、切换、合并

本文详细介绍了如何在AndroidStudio中使用Git进行项目管理,包括创建工程、提交代码、处理分支(创建、切换、合并)及解决冲突的过程。作者强调了版本控制的重要性,并提供了实际操作步骤和注意事项。
摘要由CSDN通过智能技术生成

然后我们用Android Studio创建一个工程项目:

在这里插入图片描述

将创建的工程文件复制到刚才clone下来的仓库目录里,或者在AS创建项目的时候项目路径选择刚才clone下来的目录

在这里插入图片描述

由于是第一次提交,我们需要打开根目录下.gitignore文件忽略一些不必要的文件如build、.idea、iml等, 在.gitignore文件中输入下面内容并保存:

*.iml

.gradle

/.idea

/local.properties

/.idea/libraries

/.idea/modules.xml

/.idea/workspace.xml

.DS_Store

/build

/captures

.externalNativeBuild

同样在工程下面的每个module目录下面也有一个.gitignore文件,我们在其中输入下面内容并保存:

*.iml

/build

然后在该目录下依次执行下面命令:

git add .

git commit -m “添加项目文件”

git push

这样项目就被提交到远程仓库了,其他人就可以从仓库上clone这个工程的代码

AS中clone远程仓库

我们重新打开AS,选择checkout刚才的提交项目:

在这里插入图片描述

在这里插入图片描述

在弹出框中输入远程仓库的地址,点击clone即可。当然你可以用命令先clone到文件夹,再从AS中File菜单选择open该目录也可以。

提交代码

在这里插入图片描述

AS中的更新和提交基本上都是在工具栏上的这两个按钮,提交代码点击右边的按钮,只不过在AS中提交代码到GitSvn要多一步push操作。

由于项目没有变动所以提交会提交没有东西可以提交,我们先创建一个类,创建完毕会弹出下面的弹窗:

在这里插入图片描述

注意这里一定要勾选Remember, don't ask again, 不然后面新添加的文件你都得手动右键Git菜单去add,勾选之后新创建的文件就会自动被执行add操作。然后我们再修改一个原有的类,完了点击提交按钮:

在这里插入图片描述

在弹窗中会列出有变动的文件(包括新增的、修改的、删除的),输入提交日志点击commit, 注意Git到这一步只是提交到本地仓库,并没有提交到远程Git服务器。

这时在AS的Version Control面板中可以看到提交日志记录以及提交的文件:

在这里插入图片描述

接下来就是执行push操作,如果以前用惯了SVN的话可能会经常忘记最后一步的push操作:

在这里插入图片描述

或者直接在commit的时候点击commit按钮旁边的三角下来选择Commit and Push也可以进行push操作:

在这里插入图片描述

在这里插入图片描述

提交成功之后AS右下角会有个类似Toast的弹窗提示,并且这时我们再查看AS的Version Control面板中可以看到刚才的提交日志旁边的标签符合会有一点不一样,多了一个origin表示到这一步的改动已经提交到服务端。

这时到浏览器上去查看Gitlab上面的工程也能看到刚刚的提交日志

在这里插入图片描述

在这里插入图片描述

一般在进行提交操作之前,最好先执行update操作,因为有可能别人提交了代码跟你的有冲突。

创建分支

AS中创建分支可以直接点击右下角的底部工具栏点击Git:master选择New Branch

在这里插入图片描述

或者在右键选择Git-Repository-Branches也行在这里插入图片描述

在弹出的弹窗中输入分支名称:

在这里插入图片描述

点击OK就会创建新的本地分支,注意这个弹窗有一个Checkout branch复选框,默认是勾上的,这意味着创建完该分支的同时AS会将当前工程切换到该分支下,如果你只是想创建一个新的分支并不想切换到该分支,还是打算留在当前分支的话,那么就不要勾选这个就可以了。

创建完毕后我们再次点击底部的按钮查看分支:

在这里插入图片描述

可以看到新创建的分支只是存在于Local Branches当中,Local Branches现在有三个分支,其中前面带有一个箭头符号的表示AS当前所处的分支,而在Remote Branches当中是只有master分支。

那怎么把本地分支提交到远程仓库呢,很简单,在当前分支下再执行一遍commitpush操作就可以了,提交完成后,我们再次查看分支情况:

在这里插入图片描述

这时在Remote Branches当中多了一个origin/develop分支,表示已经提交成功了,同时我们到Version Control面板中去看一下也会发现区别标志:

在这里插入图片描述

我们在浏览器中看一下GitLab上的分支情况,可以看到确实多了一个分支:

在这里插入图片描述

上面是在AS中创建的分支,当然你也可以直接在浏览器中创建:

在这里插入图片描述

在这里插入图片描述

这样创建完毕会直接在服务端生成新的分支:

在这里插入图片描述

我们可以在AS中看一下此时的分支情况(需要先执行一下update操作):

在这里插入图片描述

可以看到在Remote Branches当中分支多了一个origin/zhaoyun分支

切换分支

切换本地分支

切换本地分支很简单,在Local Branches当中选择要切换的本地分支,然后执行CheckOut就可以:

在这里插入图片描述

这个菜单里除了CheckOut还可以CheckOut as New Branch即在当前分支的基础上再创建一个新分支。

切换完分支后底部会显示当前分支的名字:

在这里插入图片描述

切换远程分支

切换远程分支可以在Remote Branches当中选择一个想要切换的远程分支进行CheckOut

在这里插入图片描述

切换完成以后当前工作空间就会切换到该分支并且在Local Branches当中多了名为zhaoyun的分支:

在这里插入图片描述

在这里插入图片描述

当然这里在切换远程分支时最好选一个本地没有的对应的远程分支,如果你选了一个本地已有的分支,比如这里选develop, 弹出的弹窗就会提示该分支已存在:

在这里插入图片描述

当然你如果改一个名字也是可以再check出来一个的:

在这里插入图片描述

在这里插入图片描述

这样本地就会存在两个对应远程develop的本地分支,这两个分支可以分开开发互不影响。

合并分支代码

合并本地分支代码

这种情况下一般是你自己在本地check了好几个远程分支的本地分支,然后自己想要合并不同的分支代码,在Local Branches当中选择要合并的本地分支执行Merge操作即可,比如现在是master本地分支,我要合并develop的本地分支:

在这里插入图片描述

合并后只是在本地进行了代码合并,如果想要在远程仓库也合并,需要在合并之后当前分支执行commit和push操作。

合并本地分支冲突

两个本地分支合并以后,如果没有冲突,并且被合并以后的代码没有被commit, 这时他们会共用相同的工作空间共用一份代码,修改代码的时候,所有merge过的本地分支代码都会被修改。

假如这时你commit了其中一个分支的修改的代码,那么再切换分支的时候,不同分支的代码就又会分隔开来。

假如这时你commit了其中一个本地分支的代码后又修改了代码,那么再次进行checkout另一个分支的时候,可能会发生冲突:

在这里插入图片描述

我们点击Smart Checkout按钮,会弹出冲突合并的弹窗:

在这里插入图片描述

点击merger按钮:

在这里插入图片描述

这个弹窗当中左边的框中是当前本地分支的尚未进行commit的代码,右边的框中是要checkout的目标分支的本地代码,而中间的框是最终合并的结果,你可以点击左右两边的 x 或者 >> 来选择保留或者舍弃某一边的代码。点击Apply按钮会保留merge的结果,如果你点击了关闭弹窗,则冲突会被保留到代码当中:

在这里插入图片描述

这时即便你手动删除了冲突的代码,当你再次尝试切换分支的时候,依然会提示你冲突未解决:

在这里插入图片描述

点击提示中resolve,可以看到又会弹出刚才的merge弹窗:

在这里插入图片描述

保证冲突被解决后AS才会进行分支切换

本地分支合并远程分支

这种情况最常见,一般是多人开发,别人开的分支提交了代码之后,你的本地分支想去合并它提交的代码。

操作跟合并本地分支一样,直接在Remote Branches当中选择要合并的本地分支执行Merge操作即可:

在这里插入图片描述

合并之后不要忘了把合并的结果执行push操作

合并远程分支冲突

如果在本地分支合并远程分支的过程中出现冲突,AS会自动弹出合并冲突的弹窗:

在这里插入图片描述

点击Merge按钮会弹出下面的弹窗:

在这里插入图片描述

这个弹窗当中左边的框中是当前本地分支的代码,右边的框中是要merge的目标分支的远程代码,而中间的框是最终合并的结果,你可以点击左右两边的 x 或者 >> 来选择保留或者舍弃某一边的代码,当然为了保险有的时候还是需要仔细检查后手动去复制修改,以免误操作导致代码丢失错乱。注意,点击Apply按钮才会保留merge的结果,如果你点击了关闭弹窗,则不会做任何改变。

远程分支合并远程分支

这个AS中没有找到对应的操作菜单,只能在服务端进行了,打开浏览器在GitLab上选择Merge Requests—New Merge Request:

在这里插入图片描述

这里会让你选择从哪个分支合并到哪个分支:

在这里插入图片描述

在这里插入图片描述

确认好后点击按钮继续:

在这里插入图片描述

在这里插入图片描述

最终会生成一个merger请求,我们点击下面的Accept Merge Request按钮才会真正的执行Merge操作:

在这里插入图片描述

Merge成功会有下面的提示,同时去commit history里也能看到提交记录

在这里插入图片描述

删除分支

AS可以选择删除本地分支和远程分支:

在这里插入图片描述

在这里插入图片描述

删除远程分支可能需要权限,删除分支后代码就没有了,所以一定谨慎。

更新代码

更新代码有两种方式,第一种是前面提到的直接点击工具栏上的更新按钮:

在这里插入图片描述

在这里插入图片描述

弹出的弹窗中会有一些选择项,如果你是单人单个分支开发的话,用默认的就可以,默认是更新的当前分支的代码。如果是多人开发的话,可以选择merge,这样如果别人有提交代码跟你的冲突的时候AS会自动弹出merge弹窗。

另一种更新代码的方式可以在右键菜单中选择Git–>Repository–>Pull:

在这里插入图片描述

这时会弹出下面的弹窗:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2020年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

就先写到这,码字不易,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包阅读下载,最后觉得有帮助、有需要的朋友可以点个赞

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

就先写到这,码字不易,写的很片面不好之处敬请指出,如果觉得有参考价值的朋友也可以关注一下我

①「Android面试真题解析大全」PDF完整高清版+②「Android面试知识体系」学习思维导图压缩包阅读下载,最后觉得有帮助、有需要的朋友可以点个赞

[外链图片转存中…(img-PaWwSOpu-1713091515694)]

[外链图片转存中…(img-5QvLedvo-1713091515694)]

[外链图片转存中…(img-FdXFgW9u-1713091515694)]

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值