git синхронизация веток после нескольких исправлений и фиксации функций - PullRequest
0 голосов
/ 06 февраля 2020

Привет: у меня есть 2 ветки master и dev, которые были синхронизированы c около 2 недель go. Хотели бы получить некоторую помощь о том, как переместить функцию (коммит F) в главную ветку сейчас Я читал несколько git моделей рабочих процессов, просто нужно убедиться, что я все понял, перед тем как зафиксировать изменения и сделать sh изменения.

2 недели назад master

...-C-D-E

acpt

...-C-D-E

Я добавил два исправления (H1 и H2) в две разные даты, работая над другой функцией (фиксация) : F) одновременно. Таким образом, ветви выглядят как этот мастер

           H2
          /
         H1
        /
...-C-D-E

dev

         H1 H2
        /  /
...-C-D-E-F

Мои вопросы следующие
1. Теперь я хочу переместить F в мастер. Я собирался сделать git merge dev в мастер-ветке. Что-то не так с этим
2. Или я должен делать git merge <commit-id for F> в мастер-ветке?
3. Или мне следует разрабатывать F в новой ветке и объединять эту ветку с master и dev

1 Ответ

0 голосов
/ 11 февраля 2020

Насколько я понял из вашего рабочего процесса разработки, вы работаете с рабочим процессом gitflow. В этом рабочем процессе основными ветвями являются:

  • master - самая стабильная основная ветвь
  • development - ветвь разработки для разработки и объединения там функций (изначально созданных из master)
  • ветви функций - каждый раз, когда вы хотите разработать новую функцию, вы должны создать новую ветку функции из последней разработки
  • исправление - для исправлений на главном сервере (если выпуск не работает)
  • release - создается от разработки до pu sh (выпуск) изменяется на master

Если вы работали над разработкой, а не над ветвями компонентов, то сначала нужно объединить разработку с master, а затем следовать рабочий процесс. Чтобы ответить на ваш вопрос: лучше использовать первый вариант:

git checkout master
git merge dev //to merge dev into master

А затем pu sh для удаленного мастера.

Чтобы сделать github счастливым (если вы используете github), вы должны объединить мастер обратно в разработку (чтобы он не расходился и не жаловался).

...