Как изменить фиксацию без изменения сообщения фиксации (повторное использование предыдущего)?

Есть ли способ изменить фиксацию без vi (или вашего $EDITOR), появляющегося с возможностью изменить ваше сообщение фиксации, но просто повторно используя предыдущее сообщение?

Ответ 1

Начиная с версии git 1.7.9 вы также можете использовать git commit --amend --no-edit, чтобы получить результат.

Обратите внимание, что это не будет включать метаданные из другого коммита, такие как временная метка, которая может или не может быть важна для вас.

Ответ 2

git commit -C HEAD --amend сделает то, что вы хотите. Параметр -C принимает метаданные из другой фиксации.

Ответ 3

Другая (глупая) возможность - git commit --amend <<< :wq, если у вас есть vi (m) как $EDITOR.

Ответ 4

Чтобы расширить принятый ответ, вы также можете сделать:

git commit --amend --no-edit -a

добавить в настоящее время измененные файлы.

Ответ 5

Использование принятого ответа для создания псевдонима

 oops = "!f(){ \
    git add -A; \
    if [ \"$1\" == '' ]; then \
        git commit --amend --no-edit; \
    else \
        git commit --amend \"[email protected]\"; \
    fi;\
}; f"

тогда вы можете сделать

git oops

и он добавит все, и изменить, используя то же сообщение

или же

git oops -m "new message"

изменить замену сообщения