[英]How to use GIT as document versioning system - muitiple concurrent users
我想管理一些纯 JSON 文本的版本控制,而 GIT 似乎是一个不错的解决方案
我们将拥有不同的用户,连接到一个Web应用程序,他们每个人都有自己的私人“工作区的”信息,这些信息可以保存为JSON。 我计划给每个工作区一个 Id,每次用户更改和保存某些内容时,它都会被提交(通过在服务器上触发 GIT 命令)。
将有一个 GIT 用户,访问控制仅由 Web 应用程序管理。 我想问一下 GIT 是否是适合这项工作的正确工具/生产。 这种方法应该做什么,应该避免什么。
使用 Git 绝对可以解决您的问题。 我的建议是你漂亮地打印你的文档,这样每个条目都是一行,如下所示:
{
"a": 1,
"b": [
"x",
"y",
"z"
]
}
这将有助于减少任何冲突,以防您将来决定要将多个分支合并在一起。 如果您尝试进行合并,将文档全部放在一行上会导致合并冲突。
此外,我建议使用 libgit2 或其包装器之一添加提交。 这意味着您无需担心工作树中的争用,尽管您可能仍需要序列化访问以更新引用。 它也可能会更高效,因为您不需要分叉额外的进程。
如果您的方案不需要保留旧版本,或者不需要永远保留每个版本,您可能需要使用数据库而不是 Git 并在需要时存储一些旧版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.