Git 的Auto Merge自动合并逻辑与不熟悉而遇到的坑

本文讲述了在使用Git进行代码管理时,由于不熟悉Git的自动合并逻辑导致的代码丢失问题。当两个提交对同一文件的同一位置进行不同操作时,Git可能会错误地自动合并,造成代码意外消失。解决这个问题的关键在于理解Git合并机制,并在合并前与团队成员充分沟通,避免潜在的逻辑冲突。
摘要由CSDN通过智能技术生成

每个人都有使用Git管理源代码的经历,一般的流程相信都很清楚 

工作区修改代码 -> 编译通过后 git add xxx -> git commit -m 'xxxxx'  -> 合并dev和master ->git pull -> 解决冲突->push origin

今天就因为不熟悉Git Merge的逻辑所以踩坑了

有同事发现我有部分代码有功能上有重复的定义。所以帮我删除了,但是我不知道,我也删除了这块地方

typedef struct
{
 INT8U FanCtrlModeCmd;
}PACKED RaefCfgSysFanCtrlModeReq_T;

typedef struct
{
 INT8U CompletionCode;
}PACKED RaefCfgSysFanCtrlModeRes_T;

//set fan speed
typedef struct
{
 INT8U pwm_num;
 INT8U dutycycle_percent;
}PACKED RaefSetFanSpeedReq_T;

typedef struct
{
 INT8U CompletionCode;
}PACKED RaefSetFanSpeedRes_T;

这两处地方分别在57行和197行,这里称为A和B

同事删除了B部分,而我删除了A部分。

最后当我pull的时候,这个文件的AB部分代码都没了。???????

最后弄了半天,才发现是因为Git的自动合并给搞没的。

原因如下:

这个git合并的貌似是对比commit对同一个文件同一个地方的操作.
比如有两Commit ,分别为Commit 1和Commit 2。这两个Commit 都来自同一个分支的Commit 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值