Отменить фиксацию слияния от мастера, используя запросы извлечения (защищенный мастер) - PullRequest
0 голосов
/ 07 мая 2018

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

Например, создать ветку с характеристиками из коммита слияния в главном сервере, отменить коммит и объединить вветвь функции?

Или вам нужно выполнить возврат на мастер и нажать от мастера?

Я работаю в обстановке, где изменения в мастер разрешены только через ветви запроса на извлечение, поэтому расследованиеесли мы можем каким-то образом использовать операции коммитирования git revert merge, как описано здесь:

Отменить слияние Git, которое еще не было передано

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

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

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

. Для самого отката потребуются специальные аргументы, чтобы сообщить git, чтородитель слияние, чтобы вернуться к.И что еще более важно, после того, как возврат объединен в master, будет трудно повторно объединить ветвь, объединение которой вы восстановили (потому что git будет видеть ее как «уже объединенную»).В этот момент вашими вариантами будет «отменить возврат» или создать новые коммиты, которые будут иметь тот же эффект, что и ветвь (например, сделав rebase -f для него).

0 голосов
/ 07 мая 2018

Создайте ветку, в которой вы отмените коммит, затем объедините его с мастером.

Примерно так:

git checkout master
git pull
git checkout -b feature/revert_dev
git revert [hash of the commit that you want to revert]
git push -u origin (or whatever you are naming your remote) feature/revert_dev

затем объединить feature/revert_dev с мастером

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