GitHub на самом деле не запускает git merge
вообще.Они не могут, так как репозитории на GitHub не имеют рабочего дерева.На самом деле это не важная часть ответа, но понимание того, что GitHub не использует обычные команды Git, поможет вам получить правильное мышление: кнопки на веб-странице GitHub не совсем действуют как обычные команды Git.
GitHub запускает моральный эквивалент git merge --squash
или git rebase
или git merge --no-ff
. Если пользователь, который принимает и объединяет ваш запрос на получение, вызывает последний, ваш хеш коммита остается неизменным, и они также добавляют коммит слияния, чтобы это произошло.Но если пользователь, который принимает и объединяет ваш запрос на получение, использует одно из двух других действий, ваш коммит (или коммиты) отбрасывается .Вместо этого они добавляют свои коммиты, которые похожи на ваши, но отличаются.В этом случае ваши коммиты не объединяются, и вы должны выбросить свои коммиты и переключиться на их.(Это не супер-дружелюбно с их стороны - GitHub или человека, который принял запрос на извлечение, - но это ваш выбор.)