[英]how to merge 2 files with diff contents as json objects
正如Aleksey Tsalolikhin 评论的那样,您显示的是 XML,而不是 JSON(编码为文本)。 这没什么大不了的:两者都只是提供了编码树结构数据的方法。
Git 对此一无所知。 Git 的合并代码将文件视为行(文本)。 没关系,因为您打算自己进行合并(使用代码或手动或其他方式)。
请注意,区分或合并树结构数据,无论其编码如何,本质上都是复杂的。 它不应该使用行号。 它可能应该查看子树是否匹配,如果匹配,则认为它们已移动,即使它们已更改深度。
如果您自己完成了合并,并且结果应该以文本编码,则将其编码为文本并将其插入到它所在的位置,并将结果作为文本文件提供给 Git。 所有git merge
需要的是最终的文本文件。 合并的输入是三个文本文件——一个来自合并基础提交,第二个来自当前提交,第三个来自另一个正在合并的提交——Git 需要一个新的文本文件。
因此,将您的合并结果编码为文本,您基本上就完成了:将其写入适当的文件(或适当文件的适当部分)并告诉 Git这是合并的正确结果。 换句话说,写出结果并运行git add path/to/file
。
注意:合并时,我将正确的文件作为主要参考。 我将复制正确的文件并在选择时添加左侧内容。
合并有三个输入。 没有“左右”:有合并基础、我们的和他们的。 从 base 到我们的 delta 代表了我们所做的更改。 从 base 到他们的 delta 代表他们改变了什么。 你的工作就是结合这些变化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.