我将设置一个 git repo 以在多个客户端之间同步一些数据。由于用户无法访问 git 存储库——甚至不知道——我想设置一个文件结构,它(如果可能)消除了在推送到其他客户端时发生合并冲突的风险。所以简化我要存储的复杂数据结构,让我们用“带有评论的文章”这个比喻来谈论数据。
我在想三个选择:
/repository.git/Article1/Article.xml
.../Comment1.xml
.../Comment2.xml
或者
/repository.git/Article1/Article_with_comments_appended.xml
或者
/repository.git/All_Articles_including_their_comments.xml
我的用户能够:
- 编辑整篇文章(很少)
- 添加评论(经常)
- 删除评论(很少)
不会使用所有其他操作——尤其是删除文章——。
那么哪种替代方案最能降低合并冲突的风险?还有其他的吗?权衡性能(备选方案 3)与降低合并冲突的风险(备选方案 1 和 2)如何?