因此,我想研究git在某些二进制或文本树数据结构的版本跟踪中的适用性。问题是,我希望diff逻辑是完全自定义的,为数据结构模式量身定制。
假设有问题的文件是某个json对象,我想要json文件的自定义diff所以如果我有这样的版本A:
{ a: 'yes' , b: { 'X': 'unavailable' , 'Y': ready } }
我应用了以下更改:
{ a: 'yes' , b: { 'X': 'unavailable' , 'Y': done } }
所以我的diff会很聪明地发现只有项目1发生了变化。默认情况下diff,如果其他人对密钥a,item[0]进行了更改,那么这将产生需要手动合并的冲突。自定义差异旨在为特定的文件类型和内容定制diff逻辑。
二进制文件可能也会有一些稍微不同的地方。
这个问题的目的是看看是否有:
- 当前git中支持此自定义的方法
- git开发的项目或分支来支持这种定制
- 其他一些更好的工具
谢谢!
编辑我发现了这篇文章,我认为这篇文章给了我很大的疑问。此外,这可能是一个迹象,表明到目前为止,这个问题还没有很好的解决方案。
您可以为Word文档等二进制文件("Diffing binary files"部分)创建自定义diff视图。但这只对查看差异有用,而不适用于合并。
我不知道有什么能帮你的。