首页  >  问答  >  正文

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

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

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

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

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

伊谢尔伦伊谢尔伦2698 天前1053

全部回复(3)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-22 11:54:46

    两个问题。

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

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

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-22 11:54:46

    可以试试git cherry-pick命令,可以把某个commit合入到某个分支。

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-22 11:54:46

    git merge 实际会把你当前 dev2分支 最后的工作节点,new分支 最后的节点和他们共同的父节点做一次三方合并,new分支 相较于他们的共同节点相当于变更了全部文件,而 dev2分支 并没有变化,所以 git 会选择自动
    merge 替换掉 dev2 上的文件

    按照你的说法,你的同事应该是只调整了部分功能,可以考虑是用 git difftool 来手动合并两个分支

    回复
    0
  • 取消回复