Я сейчас работаю над проектом, и у нас есть исходный код в частном репозитории на Github, с каждым из нас как соавтором.
Что нам неясно, так это то, как отделить каждую нашу работу.
Я думаю, что нам нужно сделать это:
- Каждый из нас должен раскошелиться на хранилище
- Когда мы будем готовы выдвинуть наш код, мы затем отправим запрос на извлечение в репозиторий руководителя проекта, который может одновременно использовать его как возможность для проверки кода.
Когда речь идет о частных репозиториях, это то, для чего предполагается использовать разветвление, или я слишком усложняю ситуацию?
Ответы:
Клонирование репозитория на локальную машину разработчика уже является своего рода разветвлением. Если каждый разработчик подписывает репозиторий на GitHub, это служит только для публикации их текущего состояния работы.
Это может быть уместно, когда есть центральное главное репо и многие участники, которым не доверяют, имеют прямой доступ к этому репо. Это прекрасно работает для проектов с открытым исходным кодом, где каждый может внести свой вклад и отправить запрос на извлечение, который затем проверяется и объединяется группой основных сопровождающих. Использование нескольких репозиториев обеспечивает рабочий процесс на основе запросов на извлечение.
В небольшой, проверенной команде это не обязательно. Чтобы предотвратить попадание разных людей друг на друга, можно придерживаться такой стратегии, как Git Flow: каждая небольшая функция реализована в отдельной ветви функций. Когда функция завершена, она объединяется с основной веткой. Большинство команд связывают это с запросом на извлечение или проверкой кода в соответствии с соглашением, но достаточно доверяют, чтобы пропустить это при необходимости. Принимая во внимание, что отдельные репо приводят к тому, что разработчик публикует свое текущее состояние в своих разветвленных, но видимых для команды репо, в одном общем репо они переносят свои изменения в отдельную ветку функций. Делать всю разработку на master / trunk очень не рекомендуется в большинстве рабочих процессов.
Разница в конечном итоге заключается исключительно в управлении доступом, а не в реализованном рабочем процессе. Вы можете выполнять рабочие процессы на основе запросов на выборке с помощью любой настройки. С точки зрения сырого Git, между разветвлением и ветвью нет большой разницы - любой из этих подходов по существу разделяет историю проекта и позволяет добавлять коммиты, не затрагивая другие ветви / разветвления. Учитывая это, было бы гораздо лучше использовать один репозиторий в доверенной закрытой группе.
источник
Это сработает, или вы можете использовать метод ветвления, где каждый участник имеет свои собственные ветви, которые, когда команда соглашается, объединяются с master.
источник