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

相关推荐
鶴哥只手遮天6 小时前
Gitea源码深度剖析-第6章 Git 底层封装与仓库存储
git·开源
鶴哥只手遮天6 小时前
Gitea源码深度剖析-第2章 启动流程与配置体系
git·开源
鶴哥只手遮天6 小时前
Gitea源码深度剖析-第4章 数据库层与 ORM 体系(xorm)
git·开源
鶴哥只手遮天6 小时前
Gitea源码深度剖析-第5章 权限体系
git·开源
鶴哥只手遮天6 小时前
Gitea源码深度剖析-第13章 前端工程与模板体系
git·开源
鶴哥只手遮天6 小时前
Gitea源码深度剖析-第9章 REST API v1 体系
git·开源
鶴哥只手遮天6 小时前
Gitea源码深度剖析-第8章 Pull Request 全生命周期:Gitea 最复杂的子系统
git·开源
除不掉的灰色6 小时前
git回退提交前
git
认真恰饭6 小时前
Git push时警告邮箱暴露,推送失败
git
A心有千千结9 小时前
通过 SSH 反向代理让服务器借用本机网络访问 GitHub 的最佳实践
linux·服务器·网络·git·ssh·github