четверг, 9 апреля 2015 г.

git - ошибочный коммит

Что делать если в пуш попали лишние изменения

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

git log -p <file>

Будут показаны ваши последние изменения в этом файле. Если чужих изменений нет и вы последний, кто правил этот файл, то можно проделать:

git reset <commit> <file>

<commit> - предыдущая версия по отношению к той, в которую попали нежелательные изменения

После этого на диске появится измененный файл и за-stage-ный файл. Нужные нам изменения лежат в stage.
Поэтому надо сделать следующее:

git checkout -- <file>
git reset HEAD <file>

Все, теперь файл имеет состояние до того, как в него попали ошибочные данные. И его можно заново коммитить.