Что происходит с фиксациями между запросом на извлечение и утверждением

#git #azure-devops #git-commit #pull-request

Вопрос:

Предположим, моя feature ветвь от develop ветви. Я делаю некоторые коммиты feature и отправляю запрос на вытягивание своему боссу для слияния develop .

Но если я продолжу работать, фиксировать и нажимать feature до того, как он рассмотрит запрос, будут ли приняты все эти фиксации, если он примет первоначальный запрос на вытягивание? Другими словами, запрос на извлечение предназначен для объединения последней версии ветви или конкретной фиксации?

Или это что-то, что зависит от конкретных репозиториев (gitlab, github и т.д.)? Моя компания использует azure devops, если это важно здесь.

В этом контексте я также хотел бы знать, чем отличается запрос на вытягивание от git merge ?

Комментарии:

1. «Запросы на вытягивание» действительно являются функциями конкретных поставщиков хостов. Не все провайдеры хостинга называют их так, но, похоже, у всех есть что-то подобное . Более мелкие детали, как правило, зависят от конкретного поставщика.

Ответ №1:

Запрос на вытягивание (также известный как запрос на слияние) — это запрос на объединение определенной ветви (в данном случае feature ) в другую ветвь (в данном случае develop ). Когда запрос на извлечение объединяется, все изменения в ветви функций объединяются в основную ветвь.

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

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

В этом контексте я также хотел бы знать, чем запрос на вытягивание отличается от слияния git?

Запрос на вытягивание-это запрос на выполнение git merge , однако он позволяет разработчикам оставлять отзывы об изменениях.

Ответ №2:

Запрос на вытягивание-это просто спецификация мини-рабочего процесса, определяющая, как изменения попадают в вашу основную ветвь(например, master/development и т. Д.) С набором правил для принятия изменений и их объединения. Он поддерживается инструментами, поддерживающими git, такими как github, bitbucket и т.д… Кроме того, эти инструменты могут определять основной рабочий процесс для PR. Например, ваш босс одобрил ваш PR, и вы внесли некоторые новые изменения, в этом случае инструмент может автоматически удалить одобрение, и вам, боссу, придется проверить ваши дополнительные изменения и утвердить их еще раз.

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

Кроме того, вы можете добавить дополнительные ограничения в свой PR, например, PR не может быть объединен, если он не включил все изменения из целевой ветви.

Вы также можете указать, как должен быть объединен PR, например, быстрая перемотка вперед,-no-ff .. сквош … это также зависит от инструмента.

Итак , вам нужно проверить возможности используемого вами инструмента.

Запрос на вытягивание-это «слияние git», разница в том, что это слияние обычно выполняется непосредственно на стороне сервера.