easy git
Отмена изменений: reset, checkout и revert
Удаление закомиченных файлов
Если по ошибке были закомичены файлы прежде чем добавлены в .gitignore, то можно удалить их из репозитория, не трогая локальные:
Если надо удалить директорию целиком, то необходимо добавить ключ рекурсивной обработки -r:
Есть несколько способ вернуться к предыдущей точке разработки, разлчия лишь в том – были ли закомичены последние изменения.
Исправления незакомиченных ошибок
Если вы посчитали что последние изменения были явно лишними и должны быть из проекта удалены, но еще небыли закомичены, то можно просто вернуться к состоянию предыдущего комита:
1 | $ git reset --hard HEAD |
Это удалит все внесенные изменения, а так же все изменения связанные со структурой проекта. Результат выполнения обоих комманд:
1 2 | $ git diff $ git diff --cached |
будет одинаково пустым.
Если необходимо восстановить только один файл:
1 2 | $ git checkout -- config.php $ git checkout HEAD config.php |
Вторая комманда возвратит файл к состоянию последнего коммита, а в чем разница я пока не прочувствовал. (Оригинал: The first command restores config.php to the version in the index, so that «git diff config.php» returns no differences. The second command will restore hello.rb to the version in the HEAD revision, so that both «git diff config.php» and «git diff –cached config.php» return no differences.)