总结一、同一分支-本地和远程

早在两个月前我还在用eclipse开发,并且也发布的一些eclipse git的相关操作(操作都是本人亲自实践过的),但由于项目团队要求,开发工具统一用idea,实在不得已而为之切换了开发工具,

初次使用IDEA时也是不会操作,并且也是经历了百度上众多文章的灌输,我不想大家有跟我一样的历程,因为这太浪费时间了,特此写下此文章分享经验,话不多说,我们开始主题:

特此说明:此文章只传授git的使用操作,具体的git配置不多言明

1.拉取远程git项目到本地

idea git拉取、提交、合并、处理冲突具体操作_idea

idea git拉取、提交、合并、处理冲突具体操作_idea_02拉取项目成功后,由于本地环境的问题可能会报错(比如maven的依赖jar包报错之类的),需要自己处理解决一下,这里不多言明

2.切换到自己的开发分支(一般每个开发者都有属于自己的开发分支)

idea git拉取、提交、合并、处理冲突具体操作_idea_03

idea git拉取、提交、合并、处理冲突具体操作_idea_04

idea git拉取、提交、合并、处理冲突具体操作_idea_05

idea git拉取、提交、合并、处理冲突具体操作_idea_06

切换到属于自己的开发分支后,就可以编码了

3.提交代码到本地仓库

在我们编码完成后,就是要提交修改的代码到本地仓库中

idea git拉取、提交、合并、处理冲突具体操作_idea_07

idea git拉取、提交、合并、处理冲突具体操作_idea_08

idea git拉取、提交、合并、处理冲突具体操作_idea_09

4.拉取远程代码,合并到自己的本地分支

提交自己的代码到本地仓库后,下一步就是提交到远程仓库上

特别注意:在提交到远程仓库之前,要先拉取公共分支的代码(公共分支是什么?为什么要拉取公共分支的代码?在此我简要说一下,我们自己开发分支的内容最终的结果是要合并带master主分支,就避免不了跟其他同事的代码“汇合”到一起,除非整个项目都是你自己一个人开发的,前后端通吃,所以如果我们在提交到远程仓库之前,不拉取其他同事的代码的话,别人写的代码将会被你覆盖掉,别人就白写了,所以要先拉取公共分支上的代码),然后合并到自己的本地分支上。

下面是具体操作:

idea git拉取、提交、合并、处理冲突具体操作_idea_10

idea git拉取、提交、合并、处理冲突具体操作_idea_11idea git拉取、提交、合并、处理冲突具体操作_idea_11

idea git拉取、提交、合并、处理冲突具体操作_idea_13 

idea git拉取、提交、合并、处理冲突具体操作_idea_14

 5.处理冲突

如果没有文件冲突的话,可以直接跳过第5点,这里为了教大家,所以我故意弄了个冲突

合并失败后idea会有以下弹框

idea git拉取、提交、合并、处理冲突具体操作_idea_15

idea git拉取、提交、合并、处理冲突具体操作_idea_16idea git拉取、提交、合并、处理冲突具体操作_idea_16

idea git拉取、提交、合并、处理冲突具体操作_idea_18

idea git拉取、提交、合并、处理冲突具体操作_idea_13

idea git拉取、提交、合并、处理冲突具体操作_idea_20

6.提交到远程分支

我们合并成功后,需要把我们的代码提交到远程分支上

push之前最好先pull一下,避免覆盖其他人的代码

idea git拉取、提交、合并、处理冲突具体操作_idea_21idea git拉取、提交、合并、处理冲突具体操作_idea_21

idea git拉取、提交、合并、处理冲突具体操作_idea_23

这样我们的代码就算是提交到远程git上面我们自己的分支了。

如果想要把我们自己改动的远程分支代码应用合并到公共分支上,就需要重复第2点、第4点、第6点即可:将当前分支切换到公共分支,然后merge合并我们刚提交的开发分支,然后把本地的公共分支push提交到远程就ok了,这样远程上的公共分支就有我们的代码。

不过一般我不这样子操作,因为git上面有对应的操作:把开发分支合并到公共分支,具体怎么操作可以百度一下,此文不做介绍,感谢理解。

总结二、不同分支 (dev—>master)

一、分支合并

1、idea右下角创建新的分支

idea git拉取、提交、合并、处理冲突具体操作_idea_24

idea git拉取、提交、合并、处理冲突具体操作_idea_25

创建Dev分支,直接在Dev分支窗口

2、提交到本地仓库

idea git拉取、提交、合并、处理冲突具体操作_idea_26

idea git拉取、提交、合并、处理冲突具体操作_idea_27

3、切换到master分支进行Dev合并

idea git拉取、提交、合并、处理冲突具体操作_idea_28

idea git拉取、提交、合并、处理冲突具体操作_idea_29

二、版本冲突

1、master分支

idea git拉取、提交、合并、处理冲突具体操作_idea_30

idea git拉取、提交、合并、处理冲突具体操作_idea_31

2、Dev分支

idea git拉取、提交、合并、处理冲突具体操作_idea_32

idea git拉取、提交、合并、处理冲突具体操作_idea_33

3、出现版本冲突并解决

idea git拉取、提交、合并、处理冲突具体操作_idea_34

idea git拉取、提交、合并、处理冲突具体操作_idea_35

4、合并效果 

idea git拉取、提交、合并、处理冲突具体操作_idea_36