То, что вы просите, называется слиянием «ускоренной перемотки вперед». Поскольку вы упоминаете pull-запросы, я предполагаю, что вы используете что-то для управления своими ветками для вас (GitHub, BitBucket и т. Д.), Поэтому точные инструкции для выполнения того, что вы хотите, могут отличаться.
Учитывая это состояние:
master o-o-o-o
\
development o-o-o
Вероятно, ваше программное обеспечение применяет флаг --no-ff
при объединении (это стандартное поведение, потому что вы хотите зафиксировать объединение при объединении функции в development
). Из командной строки это эквивалентно:
git merge --no-ff development
master o-o-o-o-------o
\ /
development o-o-o
Однако, если вы хотите избежать коммита слияния, вы действительно хотите перемотать ветку вперед:
git merge --ff development
(--ff
должен быть ненужным, потому что это поведение по умолчанию)
master/development o-o-o-o-o-o-o
Примечания:
- Если вы сделаете это, вы потеряете способность видеть, когда
development
был объединен с master
. Это может не беспокоить (или вы, возможно, решаете эту проблему по-другому, например, с помощью тегов).
- Если у вас есть уникальные коммиты на
master
и быстрая перемотка вперед невозможна, это все равно создаст коммит-слияние. Однако вы можете использовать флаг --ff-only
, чтобы выдать ошибку, если быстрая перемотка вперед невозможна (либо уникальные коммиты в master
, либо уже обновленные).