2015-01-05 3 views
1

У меня было несколько изменений на ветке А, которой я был доволен. Случайно, ветвь A была объединена в несвязанную ветвь B. Во время работы над ветвью B вместо того, чтобы возвращать оскорбительное слияние (которое я теперь понял, было бы возможным), и обе ветви были несвязаны, я удалил или вытащил из мастера файлы Я знал, что был изменен (только) А.Восстановление удаленных файлов из объединенной ветки

B В конце концов был объединен с мастером, и поскольку A был неправильно слит в B, он также считается объединенным, хотя каждое сделанное им изменение было либо удалено, либо извлечено.

Так что мой вопрос: как я могу восстановить изменения, которые должен был иметь A?

У меня есть хэш, но я не могу просто расшириться и слиться желаемыми фиксации в A, потому что B, более недавно, исключенный/проверил все изменения в А.

ответ

1

Если изменяется от А, были отброшены на ветку B с дискретными фиксациями (без каких-либо изменений), вы должны использовать git revert <commit ID> для инверсии неуместных изменений на главной ветке.

+0

Отлично! Я 'git revert'-ed 4 ошибочных фиксации и использовал' git reset --soft HEAD ~ 4', чтобы отменить возврат, чтобы я мог разветвить изменения. – brito

Смежные вопросы