Я думаю, что ваша проблема здесь возникает, потому что, когда вы имеете дело с запросами на получение, вы выбираете автоматическое объединение их в GitHub.Из трех предложенных способов обработки запросов на выборку , описанных в документации , вы используете последний («Автослияние»), который был только недавно реализованным .Лично я думаю, что это подходит только для тривиальных запросов, которые, очевидно, верны.Для чего-то более сложного, я хотел бы использовать первый подход, то есть
- добавление репозитория запрашивающей стороны в качестве нового удаленного
- выборки с этого удаленного
- , пытающегосяmerge
- тщательное тестирование
- подтверждение результата, если вы довольны
Это означает, что объединенная версия становится общедоступной только после того, как вы проверили ее и решилиОт себя.Если вы не хотите этого, вы можете просто сбросить свою основную ветвь на прежнюю позицию.
Интересно, возможно, стоит рассказать подробнее о том, что произойдет, если вы делаете в конечном итоге придется отменить прискорбное слияние, но при этом все равно нужно иметь возможность повторно объединить более позднюю версию этой ветви.Хотя это может показаться неправильным, насколько я понимаю, самый простой способ справиться с этой ситуацией - это действительно вернуть назад.Вы можете найти более подробное обсуждение этой проблемы в этом посте из блога Pro Git и в другом обсуждении этой же проблемы в Linux Torvalds, которое также может быть полезным.