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,但是结果却是相同的。

相关推荐
微尘寒风3 小时前
【Git】的安装和使用
java·git
胖大和尚13 小时前
Git初始化本地文件夹,并推送到远端
git
啵啵啵123413 小时前
Git 底层原理:分支为什么只是一个 41 字节的文件
git
demon755200315 小时前
Git Worktree详解介绍
git·worktree
胖大和尚16 小时前
当前仓库推送到同一台机器上的另一个文件夹
git
轮到我狗叫了2 天前
git - 版本控制工具 - 对应的常见命令 - 以及无需后续每次手动source conda
git
changxiang2 天前
GIT 备忘
git
DogDaoDao2 天前
Windows 开发提效工具全景指南:60+ 工具的工程化分层配置
windows·git·程序员·开发工具·powershell·everything·msys2
wdfk_prog3 天前
GitHub push 失败:如何扫描并清理 Git 历史中的大文件
git·elasticsearch·github
大明二代3 天前
使用 Traefik、cert-manager 和 DNS-01 为内网 Kubernetes 服务配置 HTTPS
git·kubernetes·flux