git合并分支的疑问

今天遇到一个奇怪的问题:

1、后端从master拉了三个分支。分别为dev、test、和stage。

2、研发1从dev拉了分支feature1,然后commit、commit、commit......。最后request merge到dev、test和stage。成功了。

3、研发2从dev拉了分支feature2,注意,feature2和feature1是同时拉的分支。分别开发不同的任务,然后研发2也开始commit,commit,commit。本来毫无交际,但有一天研发2必须要用到和研发1用到的同一个文件,但是研发1已经修改并提前merge了。这时候研发2提交merge,报了冲突。

4、接下来研发2要解决冲突。他拉取了dev更新的代码,里面自然包含研发1提交的东西。然后找到那个文件进行比较,然后删除掉自己的东西,加入研发1的东西,然后提交。显示冲突解决,可以merge。然后研发2 merge到了dev。

5、接下来,魔性的来了,研发2紧接着又修改了那个文件。把自己删掉的那几行代码加了进去,然后commit,接着又merge到了dev,显示成功。接着又分别merge到test和stage。竟然成功了。why?他们中间有什么猫腻?很奇怪。test和stage比着dev其实少了一次merge,但是结果却是相同的。

相关推荐
Flynt14 小时前
HN 382分热文里的终端小技巧,我实测了一遍,git pickaxe 最值
git·命令行
横木沉1 天前
IntelliJ IDEA 无法识别 Git:Git is not installed 问题解决
java·git·github·intellij-idea
为你学会写情书1 天前
Git 学习指南:从日常命令到多人协作与提交规范
git
东小黑1 天前
Git 仓库操作与 VSCode 使用指南
git·vscode·gitee
拼图2092 天前
Git常用语法
分布式·git·学习
ShineWinsu2 天前
对于Git:基础操作的超详细保姆级解析
linux·c++·git·面试·备份·管理·版本控制器
沉迷...2 天前
Git skip-worktree 使用笔记(本地忽略配置文件)
javascript·git
解道Jdon2 天前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio
天天喝旺仔2 天前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
艾莉丝努力练剑2 天前
【Git:综合复盘】Git 原理与使用
大数据·人工智能·git·elasticsearch·面试