2016-09-18 4 views
2

Я поддерживаю 4 ветви проекта на Git со структурой, как показано ниже.Работает на нескольких ветвях git, которые зависят друг от друга

  • мастер
  • студента
  • учителя
  • аутентификации

Проблема в том, я создал филиал "аутентификация" последний и добавил код из этой отрасли. Теперь я перешел на «учительскую» ветку, чтобы продолжить работу над ней. Тем не менее, мне нужны некоторые функции, которые я добавил в модуле «аутентификация» для работы над модулем «учитель». Но я не закончил работу над модулем «аутентификации», чтобы выполнить слияние. Каков правильный способ справиться с этим с помощью git? Благодарю.

+0

Отправить '' PR' или тянуть request' из '' authentication' к master'. Подтвердите PR от 'authentication' до' master', затем вытащите последнюю из 'master' в' teacher'. –

+0

Филиал «учитель» опережает «мастера». Можно ли тянуть от «мастера» до «учителя»? – swdon

+1

, вы можете «зависать» непосредственно из ветки «authentication» в ветку 'teacher'. – dangom

ответ

3

Звучит так, как ваши ветви зависят друг от друга, и это вызывает у вас проблемы. Отношения филиалов могут быть вызваны ростом и увеличением филиалов и большим количеством материалов.

Это означает, что вы могли бы извлечь выгоду из слияния мелких вещей раньше! Однако похоже, что вы не хотите объединять teacher или student, чтобы освоить до того, как либо «завершен».

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

Если вы рассматриваете master как филиал, в котором есть только готовые функции, возможно, вам нужна другая ветка с именем develop, которая имеет не все функции, но более мелкие шаги сливаются?

Тогда вы могли бы сделать что-то вроде:

  • сделать некоторые функции, связанные с teacher, объединить их develop
  • начинает новый филиал для student особенности о связанных, объединить их для разработки слишком
  • повтора это до develop выглядит как-то, что вы могли бы выслать
  • merge develop до master и добавить тег новой версии

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

Не позволяйте вашим филиалам функций оставаться без работы более чем на несколько дней.
Неработающие работы - это отходов!

Больше чтение: A successful Git branching model

+1

Спасибо, что нашли время, чтобы объяснить. Я надеялся, что это объяснит это по лучшим практикам для Git. – swdon

Смежные вопросы