返回首页

diff3 手册三方 Merge 部分研读

这个是文件:道

diff3手册三方Merge部分研读

选择要合并的更改

这个是文件:

道可道,非常道; 名可名,非常名。 无名天地之始; 有名万物之母。 故常无欲, 以观其妙; 常有欲, 以观其徼(jiào)。 此两者同出而异名。

这个是文件:

无名天地之始; 有名万物之母。 故常无欲, 以观其妙; 常有欲, 以观其徼(jiào)。 此两者同出而异名。 同谓之玄, 玄之又玄, 众妙之门。

这个是文件:

道可道,非常道; 名可名,非常名。 无名天地之始; 有名万物之母。 故常无欲, 以观其妙; 常有欲, 以观其果。 此两者同出而异名。 — 道德经

You can select all unmerged changes from older to yours for merging into mine with the —ed (-e) option. You can select only the nonoverlapping unmerged changes with —easy-only (-3), and you can select only the overlapping changes with —overlap-only (-x).

  • -e 合并所有变更
  • -3 合并不重叠的变更
  • -x 合并仅重叠的变更

The -e, -3 and -x options select only unmerged changes, i.e. changes where mine and yours differ; they ignore changes from older to yours where mine and yours are identical, because they assume that such changes have already been merged. If this assumption is not a safe one, you can use the —show-all (-A) option (see Marking Conflicts).

-e, -3-x 的选项仅选择了不同的**未合并更改。**即只包括yourstheirs不同的更改,排除了yourstheirs相同但是original不同的更改,因为默认这些更改已经合并,如果认为这个假设不够好,可以使用-A来显示所有。

diff3 -e 道 德 经的输出

11a — 道德经 8c 以观其果。

diff3 -3 道 德 经的输出

8c 以观其果。

diff3 -x 道 德 经的输出

11a — 道德经

合并时标记冲突

diff3可以通过用特殊的标记线将它们括起来来标记合并输出中的冲突。来自两个文件_A_和_B_的冲突标记如下:

<<<<<<< A
lines from A
=======
lines from B
>>>>>>> B

来自三个文件_A_、_B_和_C_的冲突标记如下:

<<<<<<< A
lines from A
||||||| B
lines from B
=======
lines from C
>>>>>>> C

对于上述的三个文件

diff3 -m -E 道 德 经的输出

道可道,非常道;  
名可名,非常名。  
无名天地之始;  
有名万物之母。  
故常无欲,  
以观其妙;  
常有欲,  
以观其徼(jiào)。  
此两者同出而异名。  
`<<<<<<< 道`  
=======  
-- 道德经  
`>>>>>>> 经`

diff3 -m -X 道 德 经的输出

道可道,非常道;  
名可名,非常名。  
无名天地之始;  
有名万物之母。  
故常无欲,  
以观其妙;  
常有欲,  
以观其徼(jiào)。  
此两者同出而异名。  
<<<<<<< 道
=======  
-- 道德经  
>>>>>>> 经

diff3 -m 道 德 经的输出

<<<<<<< 德
道可道,非常道;  
名可名,非常名。 
>>>>>>> 经
无名天地之始;  
有名万物之母。  
故常无欲,  
以观其妙;  
常有欲,  
以观其果。  
此两者同出而异名。  
<<<<<<< 道 
||||||| 德  
同谓之玄,  
玄之又玄,  
众妙之门。  
=======  
-- 道德经  
>>>>>>> 经

相关笔记

  • 对于JSON文件的merge优化 - 基于 diff3 原理的 JSON 结构化 merge 实践
  • 研发门禁:为研发活动保驾护航 - merge 冲突解决是研发流程中的关键环节