git commit --amend без запроса сообщения

Время от времени я ловлю себя на том, что изменяю коммит, используя одно и то же сообщение.

Обычно я делаю:

  1. Добавьте мои изменения в промежуточную область.
  2. Do git commit --amend.
  3. Подождите, пока откроется текстовый редактор.
  4. Сохраните и закройте его (без изменения сообщения).

Можно ли как-то сказать git, что я не хочу менять сообщение коммита (пропустив шаг открытия моего текстового редактора и сохранения сообщения)? Нравится:

  1. Добавьте мои изменения в промежуточную область.
  2. Скажите git изменить мою промежуточную область до последней фиксации, не спрашивая меня о другом сообщении.

Я знаю, что могу избежать запуска моего текстового редактора git, выполнив git commit --amend -m "<message>". Но таким образом мне пришлось бы перепечатать сообщение.


person talles    schedule 18.03.2013    source источник


Ответы (2)


Попробуйте git commit --amend --no-edit.

person Rob Bajorek    schedule 18.03.2013
comment
Примечание. Флаг --no-edit был добавлен в Git 1.7.9: L47" rel="nofollow noreferrer">github.com/git/git/blob/ Другой ответ будет работать для предыдущих версий Git. - person Pat Myron; 12.11.2018

Это изменит последнюю фиксацию, используя то же самое сообщение, в одной команде:

git commit --amend -C HEAD
person gylaz    schedule 18.03.2013
comment
Эта опция отлично работает на CentOS 6.7 (final). потому что опция --no-edit еще недоступна на этой платформе через стандартную установку git yum. ПРИМЕЧАНИЕ. git версии 1.7.1. - person crsuarezf; 08.10.2015
comment
Из stackoverflow.com/a/10365442/710377: этот параметр был добавлен в Git 1.7.9. - person meustrus; 30.11.2016