【发布时间】:2016-05-05 21:25:00
【问题描述】:
//为清晰而编辑
有什么方法可以实际或理论上合并两个提交并在它们之间保留所有不同的内容。
假设您有一个主分支,其中包含一个名为 index.js 的文件
//master
//index.js
alert('A');
alert('Z');
master 的两个分支如下所示:
//Branch 1
//index.js
alert('A');
alert('B');
alert('Z');
//Branch 2
//index.js
alert('A');
alert('C');
alert('Z');
将分支 1 合并到分支 2 的理想自动合并结果是
//Branch 2
//index.js
alert('A');
alert('B');
alert('C');
alert('Z');
有没有办法做到这一点?
【问题讨论】:
-
我相信你可能在
git merge之后已经结束了这个,尽管它也可能有冲突(文件有冲突标记)。关于alert('B')在alert('C')之前显示的字母顺序,我认为这是不可能的。假设您确实遇到了合并冲突,有什么理由通常您不会手动解决它? -
我只是想简化流程。对于我正在做的工作,它是针对许多小更改的许多修复。我想也许 git 会有一个标签来包含两个文件之间的差异。
-
也许我在这里回答我自己的问题,但可能的解决方案是使用 gitty 之类的 git 包装器(用于 npm),当我得到差异时,结帐到新分支,运行我自己的脚本来合并文件,然后扔掉冲突的分支
-
为什么需要创建一个新分支?有一种方法可以告诉 Git 使用来自一个分支或另一个分支的版本自动完成文件的合并。但是在您的情况下,您希望使用来自两个分支的信息,并且希望自动完成。
-
我想这就是问题所在