2015-07-02 2 views
1

Я начал git revert на довольно длинной последовательности коммитов, не зная о опции -no-edit. Поэтому каждое завершение фиксации выдает редактор. Выход из редактора без сохранения «отменяет» возврат, но только для того, чтобы конкретная фиксация была возвращена - так, как только она выйдет из git, всплывает другое окно редактирования для следующего фиксации в возвращаемой последовательности.Как прекратить отмену последовательности git-коммитов

Людей страница на web показывает вариант --abort, который делает то, что я хочу, но я попытался использовать его (в отдельном окне), и получите сообщение об использовании:

$ git revert --abort live-20121111..V2.1-master 
usage: git revert [options] <commit-ish> 

Я использую Cygwin git версии 1.7.5.1, поэтому предположительно опция --abort была представлена ​​в более новой версии. Как я могу чисто остановить всю последовательность, чтобы начать с опции --no-edit? Я не хочу бросать сотни сеансов редактора.

ответ

1

Руководство пользователя revert --abortcan be replaced by a git reset --hard. Это приведет к остановке цикла, хотя и с ошибками, жалующимися на то, что refs/heads для ветки не находится в ожидании коммита при выходе из редактора.

Сделайте git-журнал (чтобы проверить, какая фиксация была уже сгенерирована git revert) и выберите SHA1 комманды, которую вы хотите сбросить.

Это, можно сказать, использование git в Cygwin можно было бы избежать, используя самые последние (4 дня назад) Git for Windows 2.4.5.
PortableGit-2.4.5.1-4th-release-candidate-64-bit.7z.exe может быть извлечен в любом месте, и вы найдете git-bash.exe, который opens a fairly recent and complete bash.

+0

@sootsnoot, что я говорю, это то, что если вы используете Git 2.4.5, у вас будет доступ к опции '--no-edit'' git revert'. Нет необходимости в Cygwin. – VonC

+0

@sootsnoot 'reset --hard' - это просто прервать текущую' git revert' в целом. Но чтобы перезапустить 'git revert', я бы рекомендовал использовать Git 2.5.4 (для Windows) – VonC

+0

О, ладно. На самом деле, у 1.7.5.1 есть опция -no-edit, я просто не знал об этом (или о необходимости этого, поскольку раньше я никогда не делал этого). Как я уже сказал в исходном вопросе, я просто хочу остановить цикл, который продолжает выскакивать редактор для каждой фиксации, и я могу начать с --no-edit. Я знаю коммит, с которого я хочу начать, и знаю, как использовать reset -hard, чтобы туда добраться. – sootsnoot

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