Как мне слить ветку в мастер, который находится за мастером? - PullRequest
0 голосов
/ 08 февраля 2020

Вот ситуация:

У нас была рабочая ветвь мастера (M)

Мы создали ветку от мастера и внесли изменения (A)

Мы объединили A в master (M2)

A возникли некоторые проблемы, поэтому мы сломали master

Мы вернули master в результате чего M3 идентично M

Мы внесли изменения в ветвь A, что привело к A2.

Мы хотим объединить А2 с мастером, но мы не можем слить, потому что А2 на несколько коммитов позади мастера (M3).

Мы в основном хотим сделать хозяина A2, но сейчас единственный путь вперед, который мы видим, это преобразование всех наших изменений, которые мы сделали в A и A2, в новый ответвление от мастера.

Мы ' использовать GitLab, если это помогает в предоставлении простого решения.

1 Ответ

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

Быть несколькими коммитами позади обычно не проблема. Вы можете просто проверить мастер git checkout master, а затем объединить А2 в мастер git merge A2. Если есть конфликты слияния, вам нужно разрешить их до завершения слияния.

Другой вариант - обновить A2 с изменениями в master до слияния с master. Сначала вы извлечете A2, затем либо git merge master или git rebase master, исправите конфликты, если таковые имеются, а затем извлечете мастер и объедините A2 (или A3, если хотите) с мастером.

Редактировать
Если вы действительно хотите просто сделать мастером А2, вы можете сделать это, проверив мастера, git reset --hard A2 и принудительно вставив pu sh git push --force-with-lease. Тем не менее, это обычно не рекомендуется, так как вы изменили бы историю мастера. Если вы работаете в одиночку на одном компьютере, я бы сказал, что это нормально, но если вы несколько разработчиков, это может вызвать проблемы.

Редактировать 2
Я понял из комментария ниже что исходные изменения из А. не будут включены в слияние.

Либо верните мастер возврата, либо выделите А в мастер, чтобы это исправить.

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