2015-04-28 2 views
0

Мне нужно несколько советов, чтобы сделать возврат, чтобы продолжить работу. Я был в середине функции, когда мне внезапно потребовалось запустить сайт, прежде чем он смог его закончить. Я сделал несколько ревертов, связанных с этой функцией, которые теперь мне нужно восстановить.Git создать патч от нескольких коммитов

Что является наиболее плавным способом сделать это? Это нормально, чтобы создать патч из нескольких коммитов, а затем разрешить конфликты?

+0

Связанные: http://stackoverflow.com/questions/8728093/how-do-i-un-revert-a-reverted-git-commit – dshepherd

ответ

1

Это не решит вашу проблему напрямую, но вы могли бы использовать ветку от более раннего фиксации, чтобы сделать выпуск, не возвращая ничего.

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

Вы также можете использовать ту же команду revert, чтобы сделать возврат каждого из возвратов. Если вы хотите сделать один возврат, который сочетает в себе все двойные обратные, вы можете использовать rebase для сквоша их всех вместе.

Команда git revert поддерживает список коммитов, поэтому вы можете дать их всем сразу за один вызов команды. Кроме того, если реверты все последовательны, вы можете указать диапазон фиксации.

+0

У меня есть некоторые другие коллеги, работающие над филиалом в настоящее время. Мне нужна дополнительная осторожность! :) Мы говорим о 13 коммитах. Я делал реверс для каждого возврата, но в середине я потерял его, и все это сдуло. Что ты предлагаешь? –

+0

Я обновил свой ответ, чтобы включить помощь с большим количеством коммитов. Надеемся, что коммиты не отделены друг от друга. – b4hand

+1

Также: составить список коммитов, которые необходимо вернуть, прежде чем что-либо предпринять. Вы можете получить список всех ревертов в последних 100 фиксациях, используя 'git log --grep =" Revert "HEAD ~ 100'. – dshepherd

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