©
This document usesPHP Chinese website manualRelease
git-merge-file - 运行三路文件合并
git merge-file [-L[-L [-L ]]] [--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size= ] [--[no-]diff3]
git merge-file将从to导入的所有变化合并到一起。结果通常会进入。git merge-file对于将单独的更改组合到原始文件非常有用。假设是原来的,都和都进行修改,然后git merge-file结合了变化。
如果两者都发生冲突并且在共同的线段中发生变化。如果发现冲突,git merge-file通常会输出一个警告,并将冲突与包含<<<<<<<和>>>>>>>标记的行进行括号。典型的冲突将如下所示:
<<<<<<< A lines in file A=======lines in file B>>>>>>> B
如果有冲突,用户应编辑结果并删除其中一个选项。然而,当--ours,--theirs或--union选项有效时,这些冲突分别有利于分别来自线段,来自线段或来自两者的线路。冲突标记的长度可以通过--marker-size选项给出。
该程序的退出值对错误为负值,否则冲突的数量(如果存在多次冲突,则截断为127)。如果合并是干净的,则退出值为0。
git merge-file被设计成是 RCSmerge也就是的最小克隆;这就说,它实现了 git 所需的所有 RCSmerge功能[1]。
-L
此选项最多可以放三次,并指定标签用于替代冲突报告中的相应文件名。也就是说,git merge-file -L x -L y -L z a b c生成的输出看起来好像来自文件x,y 和 z,而不是来自文件a,b 和 c。
-p
将结果发送到标准输出而不是覆盖。
-q
安静; 不要警告冲突。
--diff3
以“diff3”风格显示冲突。
--ours --theirs --union
而不是在文件中留下冲突,解决有利于我们(或他们或两者)方面的冲突。
git merge-file README.my README README.upstream
将自 README 后的 README.my 和 README.upstream 的更改结合起来,尝试合并它们并将结果写入 README.my。
git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345
将tmp / a123 和 tmp / c345 与基本 tmp / b234合并,但使用标签a和c而不是tmp/a123和tmp/c345。