Git图解-IDEA中的Git操作

目录

一、配置Idea

二、项目克隆

三、文件状态识别

四、Git操作

4.1 git add--添加暂存区

4.2 git commit--提交本地仓库

4.3 git push--推送远程仓库

4.4 git pull--更新本地仓库

五、完整开发流程

5.1 步骤1:克隆项目

 5.2 步骤2:创建自己开发分支

5 .3  步骤3:在自己本地分支编码

5.4 步骤4:切换到本地master分支

5.5 步骤5:将自己分支代码合并到master分支

 5.6 步骤6:将本地master的分支推送到远程仓库master分支

5.7 步骤7:模拟同事合并代码进入远程仓库

5.8 步骤8:拉取远程仓库master最新代码到本地master分支

 5.9 步骤9:切换到自己本地分支,合并master,然后继续开发

5.10 步骤10:来回重复步骤5到步骤9

5.11 步骤11:本地自己分支远程备份

5.12 步骤12:最后的注意

六、文件冲突

七、保命小结

八、转视频版


一、配置Idea

idea 自带Git插件,但是很多时候这插件版本并不是最新,一般操作前可以配置成安装版的Git

Git图解-IDEA中的Git操作_第1张图片

二、项目克隆

通常来说,进入公司以后会发给你一个远程 Git 仓库的账号密码,以及仓库地址,当你得到仓库地址后,即可在开发工具当中将该仓库下载到本地

Git图解-IDEA中的Git操作_第2张图片

Git图解-IDEA中的Git操作_第3张图片

Git图解-IDEA中的Git操作_第4张图片

 Git图解-IDEA中的Git操作_第5张图片

 注意:在微服务开发或者按模块开发的情况下,因为一个仓库下可能包含多个项目文件,因此建议使用命令 git clone 先将远程仓库克隆到本地,然后再将仓库中的项目一个个导入到 idea

三、文件状态识别

在 idea 中,使用不同的颜色来标识文件的不同状态。

通常情况下,有这样几种颜色:

棕色:色代表未被 Git 管理(未添加到暂存区)

绿色:代表新增的文件且已经被加入到暂存区了

蓝色:代表该文件已经提交到远程且该文件被编辑过了

黑色:代表该文件在当前版本与远程是一致的

灰色:表示该文件之前被提交到仓库过(不管是远程还是本地),但是他已经被删除了

红色:表示该文件的内容出现了冲突

创建新文件时,idea 会弹出一个提示框,确认是否要添加到 git 暂存区

Git图解-IDEA中的Git操作_第6张图片

 Git图解-IDEA中的Git操作_第7张图片

四、Git操作

4.1 git add--添加暂存区

方式一

Git图解-IDEA中的Git操作_第8张图片

 方式二

Git图解-IDEA中的Git操作_第9张图片

4.2 git commit--提交本地仓库

方式一

Git图解-IDEA中的Git操作_第10张图片

 方式二

Git图解-IDEA中的Git操作_第11张图片

方式三

点击提交之后

Git图解-IDEA中的Git操作_第12张图片

4.3 git push--推送远程仓库

方式一

Git图解-IDEA中的Git操作_第13张图片

 方式二

Git图解-IDEA中的Git操作_第14张图片

4.4 git pull--更新本地仓库

方式一

Git图解-IDEA中的Git操作_第15张图片

方式二

Git图解-IDEA中的Git操作_第16张图片

方式三

五、完整开发流程

Git图解-IDEA中的Git操作_第17张图片

5.1 步骤1:克隆项目

Git图解-IDEA中的Git操作_第18张图片

 5.2 步骤2:创建自己开发分支

团队开发中有约定, 不能在master分支进行代码编写, 包括自己本地分支,所以开发时需要拉出自己开发分支。

在idea右下角,创建

Git图解-IDEA中的Git操作_第19张图片

创建成功之后,会默认切换到新建的分支。

5 .3  步骤3:在自己本地分支编码

一个需求开发,一般都是自己拉一条分支, 在这个分支中实现自己负责的需求。当开发完成部分独立需求(比如实现某个完整逻辑),可以自己单元测试, 测试通过之后,git add git commit 提交本地自己分支。

Git图解-IDEA中的Git操作_第20张图片

 这里要注意,必须将自己分支代码,commit之后才能执行步骤4

5.4 步骤4:切换到本地master分支

在自己本地分支开发完之后, 测试无bug之后, 保证已经commit之后,切换到master分支

Git图解-IDEA中的Git操作_第21张图片

5.5 步骤5:将自己分支代码合并到master分支

当自己分支代码ok之后,合并到master分支

Git图解-IDEA中的Git操作_第22张图片

Git图解-IDEA中的Git操作_第23张图片

 5.6 步骤6:将本地master的分支推送到远程仓库master分支

注意:自己分支合并到master分支后,需要对自己代码进行测试,测试ok后,如果改动了代码,需要再次commit,然后推送到远程仓库的master分支中。

Git图解-IDEA中的Git操作_第24张图片

Git图解-IDEA中的Git操作_第25张图片

Git图解-IDEA中的Git操作_第26张图片

5.7 步骤7:模拟同事合并代码进入远程仓库

公司项目以团队形式进行,你提交的代码,你同事一样提交代码,使用码云仓库控制台模拟同事合并代码进入远程仓库。

Git图解-IDEA中的Git操作_第27张图片

编写类名

Git图解-IDEA中的Git操作_第28张图片

 写好备注

Git图解-IDEA中的Git操作_第29张图片

添加成功

Git图解-IDEA中的Git操作_第30张图片

5.8 步骤8:拉取远程仓库master最新代码到本地master分支

远程仓库代码已经更新,新一天编码开始前,先拉取远程仓库最新代码。注意,最新代码在远程master分支,拉取最新代码应该切换到本地的master分支,然后再执行git pull命令。

Git图解-IDEA中的Git操作_第31张图片

Git图解-IDEA中的Git操作_第32张图片 

 5.9 步骤9:切换到自己本地分支,合并master,然后继续开发

还是那句,开发只能在自己分支中进行, 步骤8中本地master已经拉取到最新代码,马上切换到自己本地分支,将最新代码合并进来,继续开发。

Git图解-IDEA中的Git操作_第33张图片

 

Git图解-IDEA中的Git操作_第34张图片

Git图解-IDEA中的Git操作_第35张图片 

 

5.10 步骤10:来回重复步骤5到步骤9

后续开发就是步骤5到步骤9的重复啦。

5.11 步骤11:本地自己分支远程备份

除了可以将本地master分支推送到远程master分支外,本地自己分支也可以推送一份到远程仓库自己的分支。

Git图解-IDEA中的Git操作_第36张图片

 Git图解-IDEA中的Git操作_第37张图片

 Git图解-IDEA中的Git操作_第38张图片

 Git图解-IDEA中的Git操作_第39张图片

 

自己本地分支推送到远程分支好处:

1>备份

2>天选打工人, 公司没干完活,回家从远程仓库下代码继续开发。

5.12 步骤12:最后的注意

为了操作简便性,上课使用master分支存放日常开发成员提交的代码,真实开发不能这么玩,master分支一般存放的都是一些要发布的,或者已经发布的项目版本,不是这些没有经过正规专业测试开发代码。

真实开发使用develop先来存放日常开发代码。所以,到公司之后,必须问清楚开发分支是哪一条。

上面步骤1到步骤11,将master改成develop就可以啦

六、文件冲突

Git 文件冲突在2种情况下回出现

1>本地分支间相互合并

2>本地分支与远程分支相互合并

这里演示一下第二种情况。

步骤1:在本地master分支,A.java文件写上下面代码, 然后add, 并commit

Git图解-IDEA中的Git操作_第40张图片

Git图解-IDEA中的Git操作_第41张图片 

步骤2:切换到码云控制台,在远程master分支,改动A.java文件,模拟同事同时修改了该文件

Git图解-IDEA中的Git操作_第42张图片

修改文件

Git图解-IDEA中的Git操作_第43张图片 

步骤3:切换到idea,将本地master分支push到远程分支

Git图解-IDEA中的Git操作_第44张图片 

Git图解-IDEA中的Git操作_第45张图片 

Git图解-IDEA中的Git操作_第46张图片 

Git图解-IDEA中的Git操作_第47张图片 

解决完冲突之后,再一次push ,将最新代码合并入远程master分支。

Git图解-IDEA中的Git操作_第48张图片 

 Git图解-IDEA中的Git操作_第49张图片

 

七、保命小结

1>在公司必须清楚每条分支线是干嘛的, 不清楚就问

2>每次合并分支,特别是push pull 最好进行代码硬备份,等于买了复活甲。

3>学习期间放手操作,把问题消灭在学习阶段。

到这,本篇就结束了,欲知后事如何,请听下回分解~

八、转视频版

看文字不过瘾可以切换视频版:4小时让你直接上手Git操作

你可能感兴趣的:(Git入门图解,git,github,idea)