我正在寻找一种在处理不同分支时解决一些合并冲突的可能方法。
某些文件中的某些信息(特别是版本号)并不是不可能在不同的分支上传播,所以我正在寻找一些方法来在明确定义的标记线之间输出差异忽略文本,而且我会想知道是否有任何东西没有编码我自己的解决方案。
我想要的是:假设两个源文件看起来像
some text
DIFF_IGNORE_START
foo bar
DIFF_IGNORE_END
some other text
one
和
some text
DIFF_IGNORE_START
different text
DIFF_IGNORE_END
some other text
two
我希望差异为
--- original 2011-04-04 15:34:06.000000000 +0200
+++ modified 2011-04-04 15:35:13.000000000 +0200
@@ -3,4 +3,4 @@
foo bar
DIFF_IGNORE_END
some other text
-one
+two
我需要一个解决方案,允许忽略的块也有不同的大小。
答案 0 :(得分:0)
实现此目的的一种方法是通过custom diff driver,在.gitattributes
文件中声明一个特殊的diff脚本,该脚本将:
DIFF_IGNORE_xxx
部分,将其替换为虚拟内容(三个版本之间始终相同)