1.正式环境有仓库,但是当时同事为了方便,直接打了个包再测试环境进行开发了,现在开发完,新开发的这个部分没有纳入版本库。不知道如何合并。
2.我现在基于dev分支,创建了一个new的分支,并将之前没有纳入版本库的文件,直接替换掉new分支下的文件,并add commit。
3.我现在又基于dev分支,又创建了一个dev2的分支,切换到dev2下,merge new分支,发现merge过程中文件并没有合并与产生冲突,而是删除了dev2下的文件,新建了new分支下的那些文件。
劳烦大家如果遇到类似的问题,请指点下。谢谢!
两个问题。
你说的 “新开发的部分” 指的是哪个部分?
你现在需要把
dev2
变成什么样?可以试试git cherry-pick命令,可以把某个commit合入到某个分支。
git merge
实际会把你当前 dev2分支 最后的工作节点,new分支 最后的节点和他们共同的父节点做一次三方合并,new分支 相较于他们的共同节点相当于变更了全部文件,而 dev2分支 并没有变化,所以 git 会选择自动merge 替换掉 dev2 上的文件
按照你的说法,你的同事应该是只调整了部分功能,可以考虑是用
git difftool
来手动合并两个分支