Как добавить файл к последнему фиксации в git?
Иногда после того, как я совершил коммит, я узнал, что я оставил файл, который также должен быть включен в коммит, но на самом деле нет. То, что я часто делал, было повторением.
git add the_left_out_file
git commit "include the file which should be added in the last commit"
Я думаю, что это не очень хорошая идея, я хочу просто включить файл без добавления фиксации. Что-то вроде этого,
git add the_left_out_file
git add_staged_files_to_previous_commit
Возможно ли это?
Ответы
Ответ 1
Да, есть команда git commit --amend
, которая используется для "исправления" последней фиксации.
В вашем случае это будет вызываться как:
git add the_left_out_file
git commit --amend --no-edit
Флаг --no-edit позволяет внести изменения в фиксацию без изменения сообщения фиксации.
EDIT:
Вы никогда не должны вносить изменения в публичные коммиты, которые уже были перенесены в общедоступный репозиторий, потому что то, что исправление действительно удаляет из последнего последнего фиксации и создает новый коммит с комбинированными изменениями от этого коммита и нового, добавленного при внесении изменений.
Ответ 2
Если вы не нажимали обновление на удаленном компьютере, то простым решением является удаление последнего локального коммита с помощью следующей команды: git reset HEAD^
. Затем добавьте все файлы и снова зафиксируйте.