Git学习笔记(4)

写在前面的话

万事开头难,在写博客的过程中会重新发现问题,重新思考问题,这样会加深自己对东西的理解。

项目合并

上一篇讲到了,项目开发者yangjingya自己fork了qulewei的项目,并进行了提交。这时候作为项目主管的qulewei是看不到yangjingya的代码的,除非去cloneyangjingya的本地仓库。这时候,项目到了验收的时候,需要将两人的项目进行合并。先分别看一下两人的远程仓库

这是yangjingya的远程仓库

这里写图片描述

这是qulewei的远程仓库

这里写图片描述

现在由yangjingya发出merge请求,这部分操作在Gitlab上进行。

这里写图片描述

这里可以看出yangjingya想将自己的项目merge到qulewei的项目中去。

这里写图片描述

可以看到这个merge请求是将yangjingya的master分支合并到master中,这时我们切换到qulewei的账号中去接受这个merge请求。

这里写图片描述

只需要接受这个merge就好了。

这时候我们的文件就如下图所示了

这里写图片描述

可以看出README.md是由qulewei提交的,test.c是由yangjingya提交的,两个工程合并在一起了。

合并冲突

合并冲突就是两个人同时修改同一个文件的同一个地方,这样在合并时就会出现合并冲突,因为Git分辨不出来谁的是正确的,谁的是错误的,这就需要人工手动去修改。

这里描述一个场景,当我们完成了一次merge之后,qulewei本地仓库中仍然没有更新,需要我们手动去更新一下,拿到最新的代码,然后再进行开发。

这时候我们会执行

git pull origin master

这句话的意思是我们从远程代码仓库中拿到最新的代码,并跟本地的代码仓库进行merge

执行之后,如下图所示:

这里写图片描述

出现了所谓的merge冲突,提示我们冲突是出现在README.md中出现的,现在我们就要去看看README.md中的问题。

这里写图片描述

=======分割的是冲突的两部分,上面是本地的部分,下面是远程冲突的部分。我们按照我们的想法进行修改。

这里写图片描述

然后做如下操作冲突便解决了

这里写图片描述

结束语

篇文章主要是讲解了,如何通过Gitlab去merge两个人的项目,以及如何去处理merge冲突,处理merge冲突其实还是需要人们手工去处理,Git能做的只能是将冲突部分标出,具体判断哪些是必要的,哪些是不必要的还需要教给程序员处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值