IDEA+GitLab操作

522 阅读5分钟

1.idea初始化项目到gitlab

1.1 vcs - import into version control create gti repo。。。。

clipboard.png

1.2.选择仓库指向的项目

clipboard.png

1.3提交代码到本地仓库 git -add git commit

clipboard.png

1.4 配置远程仓库

clipboard.png image.png

1.5提交代码到远程仓库

clipboard.png

2.新建提交代码到分支

2.1新建分支

clipboard.png

2.2切换分支

clipboard.png

2.3提交代码到dev分支

。。。。。。。。。。。。。。

3.从自己的分支修改代码后,切换到别人分支步骤,及可能出现问题

3.1保留当前自己分支的快照

切换分支之前,应该先GIT --> Repository --> Stash changes 保存该分支下的改动。 切换回来后,GIT --> Repository --> UnStash changes 恢复之前的改动,

3.2在切换分支的时候,常常会遇到下图的问题

是因为我在dev分支上修改了代码,但是没有commit,切换到其他分支上就弹出了这个窗口。我们需要怎么处理呢 clipboard.png

可以看到弹框底部有Force Checkout     Don`t checkout     Smart Checkout,表示什么意思呢

smart Checkout就会把冲突的这部分内容带到开发分支(如果你没有点进窗口的那些文件处理冲突的话),比如我在test分支修改到代码,要切换到master分支,点击smart checkout后,master分支会有test分支修改到代码,最好是选smart checkout这样会把本地修改的代码先保存到statsh中,再checkout分支。

Force Checkout 就不会把冲突的这部分内容带到开发分支,如果点了force checkout则本地修改都会丢失!!!!!!!!!正确操作是: 切换分支之前,应该先GIT --> Repository --> Stash changes 保存该分支下的改动。 切换回来后,GIT --> Repository --> UnStash changes 恢复之前的改动,

Don`t checkout 当然是不切分支,继续留在当前分支了。

总结:不要点击force checkout,如果不想当前分支修改到代码出现在要切换到分支中,需要手动Stash changes,如果允许当前分支修改到代码出现在要切换到分支中,可以选择smart checkout。

4.切换到dev分支,并提交代码到仓库,再切换master再想提交一份。

4.1提交代码后,切换到master会发现没有可提交文件,因为修改的文件是在dev分支。

IDEA生成patch和使用patch

解决:

1.Version Control -> Repository 找到提交记录-> 右键create Patch,将patch文件保存在本地

2: 切换到另一个需要提交的分支:

      菜单: VCS->Apply patch,选中刚才的patch文件,导入即可, 然后就跟正常提交流程是一样的。

5.gitlab合并分支

image.png

image.png

image.png

6.从仓库拉取代码,可能出现

Your local changes would be overwritten by merge. Commit, stash or revert them to proceed

clipboard.png

7.正确拉取别人代码步骤

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

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

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

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

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

9-1204424342.png

13-781346724.png 拉取项目成功后,由于本地环境的问题可能会报错(比如maven的依赖jar包报错之类的),需要自己处理解决一下,这里不多言明

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

86-716703101.png

95-135170764.png

0-1580603630.png

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

3.提交代码到本地仓库

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

9-1203788388.png

0-1938532683.png

06-53279561.jpeg

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

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

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

下面是具体操作:

22-483533745.png

10-100476223.png

32-798539621.png

2-1289044355.png  5.处理冲突

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

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

630-43922142.png

3-1437136460.png

-1217732282.jpeg

-2046372528.jpeg

6.提交到远程分支

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

3-651553469.jpeg

7-1846170270.png

3-1923815705.png

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

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

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

如果有疑问的可以留言,我们一起学习进步