Как пропустить подсказку редактора при фиксации сквоша во время git rebase -i? - PullRequest
0 голосов
/ 16 мая 2018

Скажем, у меня есть Git-репозиторий с очень длинной историей коммитов.Я хочу запустить интерактивную перебазировку, чтобы раздавить несколько коммитов вместе.

По умолчанию Git предлагает текстовому редактору пользователю редактировать сообщение фиксации после завершения каждого сдавливания, но я хочу пропустить редактор и напрямую использовать объединенное сообщение фиксации (поскольку процесс перебазировки может занять многочасов, чтобы закончить, я не хочу беспокоиться о том, чтобы ждать, пока компьютер отредактирует после каждого квашинга).Есть ли способ сделать это?

1 Ответ

0 голосов
/ 16 мая 2018

Интерактивное перебазирование использует предпочитаемый вами редактор последовательности , чтобы редактировать команды для запуска, но предпочитаемый вами Git editor для редактирования сжатых сообщений. Поэтому вы можете настроить интерактивную перебазировку с помощью двух разных редакторов: один, который фактически редактирует, а другой, который просто говорит: «1005 * все работает, мы все сделали ». Если вы не выбираете редактор последовательности, по умолчанию вы предпочитаете Git-редактор, так что вы не видите никакой разницы, но если вы делаете выбираете два отдельных редактора, вы делаете.

Тогда из командной строки вы должны использовать:

GIT_SEQUENCE_EDITOR=<your editor> GIT_EDITOR=true git rebase -i

Как указал phd мы можем сделать так, чтобы Git вставил ваш собственный выбранный редактор (например, из вашей настройки core.editor) через расширение оболочки, такое как этот синтаксис sh / bash:

GIT_SEQUENCE_EDITOR=$(git var GIT_EDITOR) GIT_EDITOR=true git rebase -i

При этом будет использоваться программа /bin/true (или ее оболочка, встроенная в эквивалент), чтобы «редактировать» каждое объединенное сообщение коммита.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...