Как хранить интерфейс и серверную часть в git?

У нашей команды есть небольшой проект веб-приложения. Мы не понимаем, как бэкенд и фронтенд должны храниться в git.

Есть несколько идей: хранить и фронтенд, и бэкенд в разных репозиториях, хранить оба в одном репозитории, но в разных ветках, или хранить в разных директориях.

Существуют ли какие-либо отраслевые стандарты или общепринятые передовые методы в этом отношении?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
833
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Я бы сказал, что лучше хранить их в двух разных репозиториях. Если бы это было настольное приложение, написанное, например, в электронном виде, то, возможно, использование двух папок было бы более эффективным, но в вашем случае я бы определенно выбрал два репозитория. Кроме того, будет проще поддерживать кодовую базу без конфликтов с совершенно несвязанным кодом. Что касается использования веток, я бы предложил эту небольшую статью, чтобы понять их назначение.

Удачи.

Одно и то же репо и 2 разных филиала не приносят никакой добавленной стоимости.

Итак, это либо:

  • 2 разных репозитория
  • или 1 репозиторий, а также обратный и передний код в одной и той же ветке, называемой стратегией «монорепо».

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

Но это повлияет на ваш процесс развертывания/упаковки: вам необходимо выяснить, облегчит ли размещение всего в одной ветке развертывание (развертывайте все одновременно) или усложнит, если вам нужно собрать 2 пакета и провести тестирование качества. обоих.

Ответ принят как подходящий

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

Учитывая это, все зависит от того, хотите ли вы запустить это как один проект или как два.

Одно репо

Одно репо проще. Вам не нужно координировать изменения и выпуски между фронтендом и бэкендом. Если у вас есть ошибка или функция, ее можно закодировать, протестировать и выпустить в одном проекте.

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

Два репозитория

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

По сути, серверная часть будет зависеть от внешней части. Для использования внешнего интерфейса потребуется четко определенный API. Это может быть хорошо, поскольку в этом случае серверная и клиентская реализации будут разделены, но это требует затрат.

Что использовать?

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

Вы всегда сможете разделить его позже, однако распутать его будет сложнее.

Другие вопросы по теме