На моем рабочем месте мы совершаем код, сначала создавая ветку, создавая запрос на перенос в нашем реестре Github для этой ветви, а затем кто-то просматривает его и нажимает «Запрос на слияние». Это довольно стандартный рабочий процесс.Github Merge pull request как-то переписал историю
Обычно, когда мы нажимаем «Запрос на слияние», Github создает новый комманд, называемый «Запрос слияния с доставкой №1234 из браншнама» с двумя родителями - HEAD мастера, и последняя фиксация в PR.
Сегодня я объединил PR как обычно, и как-то Гитуб решил вместо того, чтобы использовать ГЛАВУ мастера как одного из родителей, он использовал бы фиксацию более дня назад (мы делаем 20-30 коммитов в день). Это обязательство, которое оно использовало, заключалось в том, что связь с PR-ветвью была отключена. Это привело к тому, что главная ветвь потеряла все коммиты от между этим и этим PR-слиянием.
Кто-нибудь знает, как это могло произойти? Это ошибка с Гитубом? Или разработчик, представивший PR, сделал что-то плохое, что могло бы переписать мастера? Я думал, что все коммиты просто будут объединены в мастера без каких-либо перезагрузки или перезаписи истории в Гитубе.
Я не думаю, что разработчик может сделать что-то плохое в этом отношении; вы либо попали в ошибку с github, либо предположение о том, что были совершены коммиты, которые уже были перенесены в github, (я подозреваю, что последний). –
Публично ли вы можете ссылаться на соответствующую фиксацию? – jonrsharpe
Вы пытались объединить удаленно из командной строки или использовать зеленую кнопку «Слияние» GitHub? – nishanths