PostgreSQL coub express.js freeware git jquery laravel links linux macos mysql node.js php powershell python ubuntu vim virtualbox анекдот блог игры интересно стихи цитаты

Git: как внести изменения в коммит, как откатить коммит
July 28, 2013
Ситуация 1: коммит уже сделан, но пуш ещё НЕ сделан. Обнаружилось что в предыдущий коммит нужно добавить какие-то правки, или что-то убрать из него например. Можно сбросить индекс для последнего коммита в текущей рабочей версии вот так
git reset --soft HEAD^
В таком варианте все изменения в файлах сохранятся (их покажет git status), будет сброшен только последний коммит. Теперь поправим все что нужно и закоммитим все снова, с новым комментарием.
Ситуация 2: кривой коммит сделан и уже отправлен на удаленный репозиторий (после push уже). Коммит этот надо откатить. Можно вообще-то исправить и закоммитить исправления, но мы допустим хотим просто полностью убрать этот кривой коммит чем быстрее тем лучше. Например коммит был сделан в неправильную ветку по ошибке.
# смотрим лог (%h покажет нам хэш коммита в логе)
git log -20 --pretty='%h %an %ar %s'
# делаем коммит с откатом 12f42c8 - это пример хэша
git revert 12f42c8
# пушим этот коммит
git push
Теперь в логе увидим сначала наш кривой коммит, а потом коммит с его (плохого коммита) откатом. См. git help revert
git

Comments

No comments here yet.
You have to login to post a new comment.
aghr