GitHub: Отменено неудачное слияние с мастером, но объединенные файлы все еще присутствуют - PullRequest
0 голосов
/ 06 июня 2018

В GitHub я случайно слил не ту ветку в master.(вероятно, от скольжения пальца при выборе из выпадающего списка) Слияние было завершено и передано, прежде чем я осознал свою ошибку.

Я смотрел:

Возврат плохогоgit merge из GitHub

Github: изменения, игнорируемые после возврата

GitHub, возврат или сброс?

Возврат коммита git merge, затем возврат назад

Github Revert.Неуверен в истории

Но никто из них не смог успешно решить проблему, и, если я чего-то не понял, все они указывают на то, что откат должен был отменить неудачное слияние, оставив меня готовым вновь слитьправильная ветвь позже.

Моя структура такова:

/master

/dev_2.0

/test_2.0

/dev_3.0

/test_3.0

Все ветви разветвлены от /master.В каждом тестовом выпуске dev_x.0 переводится в test_x.0, а в каждом финальном выпуске продукта test_x.0 объединяется в master.

У нас есть тег (назовите его test_tag_2.0) в ветви test_2.0, который отражает ветку test_2.0 во время развертывания.Версия 2.0 запущена в производство и завершена, 3.0 находится в стадии разработки.

/master, для нас, используется исключительно для развернутого кода и не затрагивается никем, кроме меня.В мастере не существует опасности последующих коммитов.В test_2.0.

дальнейших разработок не ведется. Я хотел откатить неудачное слияние (test_3.0 -> master) до состояния, в котором оно находилось до слияния, и выполнитьправильное слияние (test_2.0 -> master)

В соответствии с рекомендациями по нескольким темам, касающимся переполнения стека, я выполнил сброс в локальном репо, чтобы отменить неудачный коммит, и перенес его на удаленный сервер.В GitHub это показывает успешное возвращение в историю.gitk также показывает возврат.

Вот команда, которую я сделал:

`git reset --hard HEAD@{1}`

Затем отправил на удаленный

Однако теперь, когда я сравниваю master с неверной веткой источникаtest_3.0, это показывает, что ведущий является текущим со всеми изменениями в этой ветви.Разве возврат не должен был отменить это?

Это также все еще показывает, что мастер является текущим с правильной ветвью test_2.0, после возврата, который я выполнил.Разве это не должно также показывать, что это не так?

Поэтому конечный результат, который я хочу, состоит в том, чтобы ветвь master была полностью идентичной во всех отношениях, как это было до неудачного слияния,и для успешного слияния из правильной ветви test_2.0 в master.

...