Как структурировать репозиторий git для проекта клиент-сервер

Я буду делать проект, который будет иметь отдельную сторону сервера (.NET) и клиентскую часть (JavaScript), которые могут быть разработаны отдельно. Имеет ли смысл иметь их в качестве 2 отдельных хранилищ git, или они должны быть скорее одним? Какие преимущества/недостатки имеют эти подходы?

Ответы

Ответ 1

Я бы рекомендовал разместить код в двух отдельных папках в том же репозитории git.

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

Если код клиента и сервера были отдельными репозиториями, вам нужно попытаться определить вручную, какие изменения, установленные на сервере, соответствовали какому изменению, установленному в базе кода клиента.

Ответ 2

Personnaly, я создаю две большие папки: одну для клиентской, а другую для сервера.

Для клиентской стороны (я использую symfony), я использую псевдоним apache. Так что это проще и централизованно.

Наличие двух репозиториев одинаково, но не так просто переключаться между ветвями. Например, вы изменяете протокол безопасности. Вы отредактируете обе стороны. Итак, ветка - хороший солетон. Если у вас есть два разделенных репозитория, вы не можете использовать одну ветвь.