Git объединить, затем вернуться, затем вернуть обратно

Итак, ветка git перешла в непростое состояние:

Две ветки:

 * мастер
* other_branch

На прошлой неделе кто-то случайно (преждевременно) слил other_branch с master и отправил в origin. Мы заметили ошибку, и я по своей наивности совершил

 git revert bad_merge_commit

, чтобы «исправить» проблему. Все выглядело нормально, мы продолжали жить ...

Сегодня мы попытались объединить master с other_branch как шаг к превращению other_branch в master. Но мой откат, похоже, вызвал кошмар. Когда мастер сливается с other_branch, вся (большая часть?) Работы на other_branch удаляется. Я предполагаю, что это происходит потому, что мой откат предписывает отменить все старые коммиты.

Конечно, теперь поверх моего отката, конечно, много дней коммитов на мастере, поэтому распутать это, похоже, может быть сложно.

] Есть ли способ устранить повреждения? Могу я, возможно, прибегнуть к аргументу о перебазировании и удалить две ошибочные фиксации?

Большое спасибо!

[Обновление - добавление деталей текущего состояния по запросу]

other_branch некоторое время назад был отделен от мастера. Наша стандартная практика - многократно объединять master в other_branch по мере того, как мы идем, чтобы минимизировать накопление конфликтов (иногда мы перебазируем, но не в этом случае).

мастер фиксирует A | B | C | BAD_MERGE [ другое_отрасль_ @ S ] | REVERT_OF_BAD | D | E | F ... HEAD

другая_ветвь фиксирует P | Q | R | S [BAD_MERGE_FROM_HERE] | Т | U | V ... HEAD

Попытка объединить главный HEAD с HEAD other_branch вызывает проблему.

Чарльз, в настоящее время я пытаюсь исправить дубликат главного файла, используя решение, которое вы предложили здесь: Как удалить выбранные фиксировать записи журнала из репозитория Git, сохраняя их изменения? .

[/ Update]

7
задан Community 23 May 2017 в 12:14
поделиться