Перенос ветки объектов в удаленный репозиторий для объединения с несинхронизированным мастером - PullRequest
2 голосов
/ 20 апреля 2019

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

Мой вопрос:

Что, если локальный ведущий и удаленный ведущий не синхронизированы?Тогда ветка слилась в совершенно другой проект?Например, я git clone master 2 недели назад + разветвился от него до новой ветки функций, но за эти две недели были внесены изменения в master.Поэтому я беспокоюсь о том, что моя ветвь функций будет объединена в совершенно другую главную ветвь!Без моего предварительного тестирования.

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

git checkout master
git pull
git checkout my-feature-branch
git merge master (now i know my branch is in sync with master. Resolve conflicts locally)

и только потом:

git checkout my-feature-branch
git push origin my-feature-branch?

1 Ответ

1 голос
/ 21 апреля 2019

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

  1. Слияние ветви функций с основной веткой разработки:
    • Оформление обновленной версииветви разработки.
    • Объедините ветку разработки в ветку компонентов и разрешите все возможные конфликты.
    • Зафиксируйте / переместите ветвь функций в состояние «Готов к слиянию с веткой разработки»..
    • Слияние ветви компонента в ветку разработки (и теперь ветвь функции можно удалить).
    • Запуск тестов CI / CD в ветви разработки, чтобы убедиться в правильности слияния..
  2. Объединить основную ветвь разработки с основной ветвью (это следует делать с осторожностью, и все другие разработчики должны быть уведомлены о том, что ветвь разработки объединяется с главной):
    • Оформить обновленную версию главной ветви.
    • Объединить главную ветку с веткой разработки (не должнобыть проблемой, так как ветка разработки должна содержать все в основной ветке).
    • Зафиксировать / переместить ветку разработки в объединенное состояние.
    • Слить ветку разработки в главную ветку (и принять решениео том, должны ли коммиты быть раздавлены).
    • Убедитесь, что мастер работает стабильно, выполняя все возможные тесты в ветви master.
    • Создайте тег коммита слияния - объединение из разработки вветвь обычно делается как прелюдия к выпуску версии.

Ссылки:

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