Каков предпочтительный подход к объединению изменений из разработки в основную ветку? - PullRequest
1 голос
/ 08 октября 2019

Мастер является основной ветвью и заблокирован от запроса прямого слияния.

Develop является ответвлением от master.

Feature1 разветвляется с развязкой Develop.

Я могу вытащитькод из ветви Feature1 в мой локальный GIT, внесите изменения и передайте код локально.

Теперь у меня есть два варианта интеграции изменений в разрабатываемую ветку:

  1. код изменяется с feature1 на разработку, мы можем либо выполнить слияние сквоша, либо перебазировать feature1 в разработку локально, а затем отправить разработку на сервер. Сквош слияния не сохраняет предыдущие истории коммитов. В то время как rebase будет хранить историю.

  2. Другой способ, вместо локального слияния кода из feature1 в development, мы можем перенести ветку Feature 1 на сервер и затем вызвать запрос на извлечение. на сервере слить код из ветки feature1 для разработки ветки. Будет ли история фиксации из feature1 сохраняться или игнорироваться при слиянии с развивающейся ветвью?

Какой предпочтительный подход?

Ответы [ 3 ]

2 голосов
/ 08 октября 2019

Если вы не единственный, кто работает над feature1, предпочтителен PR для слияния с develop.
Перебазирование потребует принудительного толчка, заставляя вашего коллегу сбросить свои собственные feature1ответвление.

Чтобы сохранить историю feature1, рассмотрите возможность регулярного слияния при принятии PR, а не " сквош и слияние ".

Для developна master, вы не единственная интегрирующая функция, поэтому рекомендуется объединить PR, чтобы объединить (а не перебазировать) develop.

1 голос
/ 08 октября 2019

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

То, как мы делаем ветки в моей компании, таково: production - текущая версия, запущенная в производство master - кандидат на выпуск вырезан из этой ветви. Это экспериментально, но мы должны только объединить «рабочий» код. Мы никогда не должны сознательно ломать master.

И это все. Наши запросы на получение ответа master. Люди могут использовать ветви функций, но вы несете ответственность за конфликты слияния. Для каждого запроса на получение master требуется билет JIRA для соответствия.

0 голосов
/ 08 октября 2019

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

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