git merge后不合并与产生冲突,而是直接替换掉。
本文介绍了git merge后不合并与产生冲突,而是直接替换掉。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
1.正式环境有仓库,但是当时同事为了方便,直接打了个包再测试环境进行开发了,现在开发完,新开发的这个部分没有纳入版本库。不知道如何合并。
2.我现在基于dev分支,创建了一个new的分支,并将之前没有纳入版本库的文件,直接替换掉new分支下的文件,并add commit。
3.我现在又基于dev分支,又创建了一个dev2的分支,切换到dev2下,merge new分支,发现merge过程中文件并没有合并与产生冲突,而是删除了dev2下的文件,新建了new分支下的那些文件。
劳烦大家如果遇到类似的问题,请指点下。谢谢!
解决方案
两个问题。
你说的 新开发的部分 指的是哪个部分?
你现在需要把
dev2
变成什么样?
根据评论更新
C new
/
A - B dev
\
D dev2
C
表示替换那些文件的操作。你现在要在 dev2
上重现这个操作。
先 git checkout dev2
,然后有两个方法,取决于你要把 C
放到哪儿。
git rebase origin/new
。这会在dev2
上得到A - B - C' - D'
git cherry-pick C
。这会在dev2
上得到A - B - D - C'
这篇关于git merge后不合并与产生冲突,而是直接替换掉。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文