git merge后不合并与产生冲突,而是直接替换掉。

查看:1575
本文介绍了git merge后不合并与产生冲突,而是直接替换掉。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

1.正式环境有仓库,但是当时同事为了方便,直接打了个包再测试环境进行开发了,现在开发完,新开发的这个部分没有纳入版本库。不知道如何合并。

2.我现在基于dev分支,创建了一个new的分支,并将之前没有纳入版本库的文件,直接替换掉new分支下的文件,并add commit。

3.我现在又基于dev分支,又创建了一个dev2的分支,切换到dev2下,merge new分支,发现merge过程中文件并没有合并与产生冲突,而是删除了dev2下的文件,新建了new分支下的那些文件。

劳烦大家如果遇到类似的问题,请指点下。谢谢!

解决方案

两个问题。

  1. 你说的 新开发的部分 指的是哪个部分?

  2. 你现在需要把 dev2 变成什么样?


根据评论更新

         C     new
        /
   A - B       dev
        \
         D     dev2

C 表示替换那些文件的操作。你现在要在 dev2 上重现这个操作。

git checkout dev2,然后有两个方法,取决于你要把 C 放到哪儿。

  1. git rebase origin/new。这会在 dev2 上得到 A - B - C' - D'

  2. git cherry-pick C。这会在 dev2 上得到 A - B - D - C'

这篇关于git merge后不合并与产生冲突,而是直接替换掉。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆