Как структурировать репозиторий git для проекта клиент-сервер
Я буду делать проект, который будет иметь отдельную сторону сервера (.NET) и клиентскую часть (JavaScript), которые могут быть разработаны отдельно. Имеет ли смысл иметь их в качестве 2 отдельных хранилищ git, или они должны быть скорее одним? Какие преимущества/недостатки имеют эти подходы?
Ответы
Ответ 1
Я бы рекомендовал разместить код в двух отдельных папках в том же репозитории git.
Основная причина заключается в том, что если вы вносите изменения на сервер, требующие изменений в клиенте, легко увидеть изменения обоих в том же наборе изменений.
Если код клиента и сервера были отдельными репозиториями, вам нужно попытаться определить вручную, какие изменения, установленные на сервере, соответствовали какому изменению, установленному в базе кода клиента.
Ответ 2
Personnaly, я создаю две большие папки: одну для клиентской, а другую для сервера.
Для клиентской стороны (я использую symfony), я использую псевдоним apache. Так что это проще и централизованно.
Наличие двух репозиториев одинаково, но не так просто переключаться между ветвями.
Например, вы изменяете протокол безопасности. Вы отредактируете обе стороны. Итак, ветка - хороший солетон.
Если у вас есть два разделенных репозитория, вы не можете использовать одну ветвь.