Должен ли я разделить клиентскую и серверную часть моего проекта на два репозитория Git или оставить их в одном? - PullRequest
3 голосов
/ 25 июля 2011

Итак, у меня есть два разных проекта в одном и том же хранилище: один для клиентской стороны, а другой для серверной (они не разделяют код).

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

Лучше ли иметь два разных репозитория, где один содержит сервер, а другой - код на стороне клиента? Или я должен оставить все как есть?

Ответы [ 2 ]

4 голосов
/ 25 июля 2011

Если вы планируете развертывать новые версии клиентского и серверного программного обеспечения одновременно, то имеет смысл иметь их в одном и том же хранилище. Вы сказали, что на стороне клиента и на стороне сервера нет общего кода, поэтому при слиянии не должно быть конфликтов. Но вы также сказали, что у вас возникли конфликты, поэтому похоже, что разработчики обеих ветвей вносят изменения в код на стороне сервера. Лучшими решениями будут: а) сказать разработчикам на стороне клиента не менять код на стороне сервера; б) чаще объединяться; в) обмениваться информацией между командами при внесении изменений, которые могут быть трудно объединить.

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

0 голосов
/ 25 июля 2011

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

Во-вторых, вместо использования одного репозитория git в двух проектах. Я рекомендую вам разделить два проекта на два репозитория git и использовать repo для одновременного управления обоими репозиториями.

Repo - это инструмент управления репозиторием, который мы создали поверх Git. Репо объединяет множество Git-репозиториев при необходимости, загружает в нашу систему контроля версий и автоматизирует части Рабочий процесс разработки Android. Репо не предназначен для замены Git, только чтобы было проще работать с Git в контексте Android. Репо команда представляет собой исполняемый скрипт Python, который вы можете поместить в любом месте твой путь. При работе с исходными файлами Android вы будете использовать Repo для межсетевых операций. Например, с помощью одной команды Repo Вы можете загружать файлы из нескольких хранилищ в свой локальный рабочий каталог.

цитата из Разработка Android с открытым исходным кодом

Более подробную информацию о репо можно найти.

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