所以,我想研究 git 对某些二进制或文本树数据结构的版本跟踪的适用性。问题是我希望差异逻辑是完全定制的,为数据结构模式量身定制。
假设有问题的文件是某个 json 对象,我想要 json 文件的自定义差异,所以如果我有这样的版本 A:
{ a: 'yes' , b: { 'X': 'unavailable' , 'Y': ready } }
我应用以下更改:
{ a: 'yes' , b: { 'X': 'unavailable' , 'Y': done } }
所以我的差异会很聪明地发现只有项目1发生了变化。使用默认差异,如果其他人在键 a, item [0] 中进行了更改,那么这将产生需要手动合并的冲突。自定义差异旨在为特定文件类型和内容自定义差异逻辑。
二进制文件的一些稍微不同的东西也可能适用。
这个问题的目的是看看有没有:
- 当前 git 中支持这种自定义的方法
- git开发的项目或分支来支持这种定制
- 其他一些更好地针对这个的工具
谢谢!
编辑我发现了这篇文章,我认为它给出了我想知道的事情的一个非常广泛的范围。这也可能是一个迹象,表明这个问题目前还没有很好的解决方案。