我有两个包含两个doc块的文件。生成file1
并用用户输入填充,file2
是另一个生成的文档块,没有填写字段。我希望将这两个文档块合并,如果有冲突,应自动选择--theirs
(因为它是file2
且是较新的版本)。
示例:
file1
包含(用户已经填写了一些TODO
部分):
/**
* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis sem ut
* felis imperdiet elementum. Etiam eu consequat felis. Suspendisse ac lectus
* vel lacus blandit sollicitudin at ac sapien. Donec scelerisque nisl id tellus
* faucibus tempor. Praesent accumsan turpis nisi.
*
* @param array $p1 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
* Duis gravida nisi eget mollis semper. Class aptent taciti sociosqu ad litora.
* @param float $p2 Lorem ipsum dor sit amet.
* @param string $p3 (optional) Lorem ipsum dor sit amet.
* @param \Drupal\core\Entity\Node $p4 Lorem ipsum dolor sit amet, consectetur
* adipiscing elit. Mauris pharetra commodo dolor.
* @return mixed [TODO:description]
*/
file2
包含(具有一些更改的新生成的文档块):
/**
* [TODO:description]
*
* @param array $myVar [TODO:description]
* @param float $p2 [TODO:description]
* @param [TODO:type] $p3 (optional) [TODO:description]
* @param \Drupal\core\Entity\Node $p4 [TODO:description]
* @param [TODO:type] $p5 [TODO:description]
* @return [TODO:type] [TODO:description]
*/
我更喜欢让git进行合并,因为它的合并系统和历史合并算法很好,但是当我尝试运行时:$ git merge-file -p file1 file3 file2
(其中file3
仅是空的)打印以下输出:
<<<<<<< file1
/**
* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis sem ut
* felis imperdiet elementum. Etiam eu consequat felis. Suspendisse ac lectus
* vel lacus blandit sollicitudin at ac sapien. Donec scelerisque nisl id tellus
* faucibus tempor. Praesent accumsan turpis nisi.
*
* @param array $p1 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
* Duis gravida nisi eget mollis semper. Class aptent taciti sociosqu ad litora.
* @param float $p2 Lorem ipsum dor sit amet.
* @param string $p3 (optional) Lorem ipsum dor sit amet.
* @param \Drupal\core\Entity\Node $p4 Lorem ipsum dolor sit amet, consectetur
* adipiscing elit. Mauris pharetra commodo dolor.
* @return mixed [TODO:description]
*/
||||||| file3
=======
/**
* [TODO:description]
*
* @param array $myVar [TODO:description]
* @param float $p2 [TODO:description]
* @param [TODO:type] $p3 (optional) [TODO:description]
* @param \Drupal\core\Entity\Node $p4 [TODO:description]
* @param [TODO:type] $p5 [TODO:description]
* @return [TODO:type] [TODO:description]
*/
>>>>>>> file2
也许这可能是因为file3
为空?
我希望输出如下:
/**
* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis sem ut
* felis imperdiet elementum. Etiam eu consequat felis. Suspendisse ac lectus
* vel lacus blandit sollicitudin at ac sapien. Donec scelerisque nisl id tellus
* faucibus tempor. Praesent accumsan turpis nisi.
*
* @param array $myVar Lorem ipsum dolor sit amet, consectetur adipiscing elit.
* Duis gravida nisi eget mollis semper. Class aptent taciti sociosqu ad litora.
* @param float $p2 Lorem ipsum dor sit amet.
* @param string $p3 (optional) Lorem ipsum dor sit amet.
* @param \Drupal\core\Entity\Node $p4 Lorem ipsum dolor sit amet, consectetur
* adipiscing elit. Mauris pharetra commodo dolor.
* @param [TODO:type] $p5 [TODO:description]
* @return mixed [TODO:description]
*/