Перейти к содержанию

Git: отмена изменений

Бывает так, что был сделан коммит и буквально сразу после этого: "ой! я забыл внести изменения в этом файле!"...

Можно сразу же после коммита добавить в индекс забытый файл и выполнить коммит следующим образом:

git commit --amend

Эта опция (--amend) позволит заменить добавленный файл в коммите. В этом случае не будет создан новый коммит. Файл просто добавится в последний коммит. Точнее, будет пересоздан последний коммит.

Такая возможность позволяет не засорять историю коммитами с мелкими изменениями, сделанными "вдогонку" основному коммиту.

Еще одна интересная возможность - отмена добавления файла в индекс. Это может быть полезно когда вы по ошибке добавили файл в индекс и хотите это исправить:

git restore --staged filename

Эта команда удалить из индекса файл filename, но он останется на диске.

Возможна и обратная ситуация, когда вы добавили файл в индекс, затем внесли какие-то изменения в рабочую копию, а потом поняли, что хотели бы отказаться от этих изменений и веруться к тому, что ранее было добавлено в индекс. Это можно сделать командой:

git restore filename

Внимание!

Это перезапишет файл рабочей копии из индекса и вы не сможете это отменить.