git pull 后手动处理冲突的方式,一个具体例子

下面是一个具体示例:

首先,本地写好了代码,刚git commit 完,working tree is clean ,想要推送到远端,需要先pull下来处理冲突,再push.
在这里插入图片描述
执行git pull后发现有几个文件提示Merge conflict in **,说明存在冲突无法自动合并,需要到相应的文件里手动处理冲突
在这里插入图片描述
git pull完后立即执行git status,可以发现,蓝色的(master |MERGING),merging表示正在合并的状态,需要手动处理完冲突后再git addgit commit后,merging就会消失,表示合并完成。

同时可以看到提示中Unmerged paths:里有红色字体显示的几个文件,就是需要手动处理冲突的文件
在这里插入图片描述

然后开始手动处理冲突,比如第一个extern_variable.cpp,打开后如下
在这里插入图片描述

三条线划分了两个部分,就是存在冲突的代码,一个是pull之前本地的代码,一个是远端的代码。

<<<<<<< HEAD
QByteArray port0_data;//串口收到的所有数据,用于保存文件
QByteArray port1_data;//串口收到的所有数据,用于保存文件
QByteArray port2_data;//串口收到的所有数据,用于保存文件
Self_defined_protocol self_defined_protocol[3];//自定义解析协议对象
HexProtocolAnalysis hex_analysis;//十六进制解析对象
QString loadFilePath;


=======
Self_defined_protocol self_defined_protocol;//自定义解析协议对象
QString loadFilePath;  // 要加载的回放文件路径
QList<int> positionList;

int allDataPacket;
>>>>>>> 5284fb4fdbf2bc3c3dc0638a765144013a45b577

如下,根据自己的需求修改好后,同时把那三条提示线给删掉,就处理好了一个文件的冲突

#include "extern_variable.h"

QSerialPort com_port0;//串口对象
QSerialPort com_port1;//串口对象
QSerialPort com_port2;//串口对象

QByteArray port0_data;//串口收到的所有数据,用于保存文件
QByteArray port1_data;//串口收到的所有数据,用于保存文件
QByteArray port2_data;//串口收到的所有数据,用于保存文件
Self_defined_protocol self_defined_protocol[3];//自定义解析协议对象
HexProtocolAnalysis hex_analysis;//十六进制解析对象
QString loadFilePath;  // 要加载的回放文件路径
QList<int> positionList;

int allDataPacket;

之后可以git add extern_variable.cpp,再 git status 会发现红色的文件中没有了刚才的extern_variable.cpp,即add后就表示已经合并好了。
在这里插入图片描述

同样的,再打开mainwindow.ui处理冲突,由于Qtcreator默认锁定编辑ui文件,可以用notepad++打开进行编辑:
在这里插入图片描述

处理完同样可以add 这个文件,也可等其他文件处理完一起add.
在这里插入图片描述
最后当所有冲突都处理完后,也add 完后,可以git commit了。commit之后,蓝色的merging标识也没了,就表示合并完成了。
在这里插入图片描述
然后这期间如果远端代码没有被其他人更新过的话,就可以git push推送到远端了。
可以看到,因为在本地处理好了冲突,可以很顺利地推送到远端
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wow_awsl_qwq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值