git发起合并请求时提示存在冲突

此时我本地有一个主分支 develop ;然后我根据 develop 主分支创建了一个 work/BCS-298 分支;
1. 我在本地 work/BCS-298 分支中修改了代码,准备 push 推送到远程 work/BCS-298 仓库;
2. 我在 push 本地 work/BCS-298 分支代码之前,先更新了本地 develop 主分支代码;
git stash // 保存本地分支修改
git checkout develop // 切换到主分支
git pull // 拉取主分支最新代码到本地仓库
git checkout work/BCS-298 // 切换到 work/BCS-298 分支
git merge develop // 将本地分支 develop 合并到当前 work/BCS-298 分支中

此时我这里是没有冲突(有的人可能会有冲突,按照下面 第8步 操作即可)

3. 我将本地分支 work/BCS-298 的代码 push 到我自己的远程 work/BCS-298 分支上
git add .
git commit ...
git push
4. 然后在 gogs 上发起将 work/BCS-298 中的代码合并到主分支 develop 上的请求;

创建合并请求,提示该请求可以自动合并
在这里插入图片描述

5. 但是我前面又有另一个人创建了合并请求,且管理员还没有合并;

此时就有两个合并请求,一个是别人的,一个是我的;我的在他的后面;
在这里插入图片描述

6. 当管理员先将别人的合并请求进行合并了,我的合并请求就提示存在冲突;

这是因为刚刚另外一个人的合并请求中修改的代码和我的修改冲突了。
在这里插入图片描述

7. 这时就需要我手动解决冲突

因为刚刚另一个人的代码已经被管理员合并到了 develop 分支中
所以先进入本地的 develop 分支,拉取最新代码

git checkout develop
git pull
8. 合并出现冲突

git merge develop 此时会出现冲突

在这里插入图片描述
此时本地分支名后面会出现 | REBASE 1/1 字段

git status // 查看冲突文件有那些

可以用 VS 或 IDEA 解决冲突(比较方便)
也可以用 vim 文件名 命令解决冲突(比较麻烦)

9. 解决完冲突后,再提交代码
git add .
git commit ...
git rebase --continue // 继续合并
git rebase --abort //取消合并

此时冲突已经解决完毕,本地分支名也变正常了

在这里插入图片描述
最后执行 git push 推送修改到远程分支成功

10. 再去 gogs 上发起合并请求,就不会提示存在冲突了,可以进行自动合并


git pull之后出现REBASE(1/1) (已解决)
git rebase后出现(master|REBASE 1/1)的解决办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值