Как использовать GIT в качестве системы управления версиями документов - одновременный доступ нескольких пользователей - PullRequest
1 голос
/ 06 февраля 2020

Я бы хотел управлять версиями некоторого простого JSON текста, а GIT кажется хорошим решением

У нас будут разные пользователи, подключенные к одному веб-приложению, у каждого из них будет свой личный информация "workspace s ", которая может быть сохранена как JSON. Я планирую дать каждому рабочему пространству идентификатор, и каждый раз, когда пользователь изменяет и сохраняет что-либо, он будет зафиксирован (с помощью команды GIT на сервере).

Будет один пользователь GIT и контроль доступа. управляется только веб-приложением. Я хотел бы спросить, является ли GIT правильным инструментом / производством, готовым для этой работы. Что следует делать и чего следует избегать при таком подходе.

1 Ответ

1 голос
/ 06 февраля 2020

Использование Git определенно является возможным решением вашей проблемы. Я рекомендую вам распечатать документ так, чтобы каждая запись была одной строкой, например:

{
    "a": 1,
    "b": [
         "x",
         "y",
         "z"
         ]
}

Это поможет уменьшить любые конфликты, если в будущем вы решите объединиться. несколько ветвей вместе. Помещение документа в одну строку может привести к конфликтам слияния, если вы попытаетесь выполнить слияние.

Кроме того, я рекомендую добавлять коммиты, используя libgit2 или одну из ее оболочек. Это означает, что вам не нужно беспокоиться о конфликте в рабочем дереве, хотя вам все же может потребоваться сериализовать доступы для обновления ссылок. Вероятно, он также будет более производительным, так как вам не нужно разворачивать дополнительный процесс.

Если ваш сценарий не требует сохранения старых версий или не всегда должен хранить каждую версию, вы можете захотеть использовать базу данных вместо Git и хранить несколько старых версий, если они вам нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...