Git合并单个文件

来源:互联网 发布:鼎丰汽车租赁软件 编辑:程序博客网 时间:2024/05/30 22:49

名称

git-merge-file - 运行三向文件合并

概要

git merge-file [-L <current-name> [-L <base-name> [-L <other-name>]]][--ours | --theirs | --union] [-p | --stdout] [-q | --quiet] [--marker-size = <n>][ -  [no-] diff3] <current-file> <base-file> <other-file>

描述

混帐合并文件包含从导致所有更改<base-file> ,以<other-file><current-file>。结果通常进入 <current-file>git merge-file可以将单独的更改与原始文件相结合。假设<base-file>是原来的,都 <current-file><other-file>都进行修改<base-file>,然后git的合并文件结合了变化。

如果双方发生冲突<current-file>,并<other-file>有线路的公共管段的变化。如果发现冲突,git merge-file 通常会输出一个警告,并将含有<<<<<<<和>>>>>>>标记的行的冲突加在一起。典型的冲突将如下所示:

<<<<<<< A文件A中的行=======文件B中的行>>>>>>> B

如果有冲突,用户应该编辑结果并删除其中一个选项。然而,当--ours--theirs--union选项有效时,这些冲突的解决有利于分别从两<current-file><other-file>或两行的行。可以使用--marker-size选项给出冲突标记的长度。

此程序的退出值为错误的负数,否则为冲突的数量(如果存在超过许多冲突,则截断为127)。如果合并是干净的,退出值为0。

git merge-file旨在成为RCS 合并的最小克隆; 也就是说,它实现了git [1]需要的所有RCS 合并功能 。

OPTIONS

-L <label>

此选项最多可以放置三次,并指定用于替换冲突报告中相应文件名称的标签。也就是说, git merge-file -L x -L y -L z a b c生成看起来像文件x,y和z而不是文件a,b和c的输出。

-p

将结果发送到标准输出而不是覆盖 <current-file>

-q

安静; 不要警告冲突。

--diff3

显示“diff3”风格的冲突。

--ours
--theirs
- 联盟

不要在文件中留下冲突,而是解决有利于我们(或他们或两者)方面的冲突。

例子

git merge-file README.my README README.upstream

结合README.my和README.upstream自README以来的变化,尝试合并它们并将结果写入README.my。

git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345

将tmp / a123和tmp / c345与基本tmp / b234合并,但使用标签 ac而不是tmp/a123tmp/c345


原创粉丝点击