← Все вопросы
Как откатить изменения в git, если всё сломал?
15
Наредактировал файл, всё стало хуже, хочу вернуть как было в последнем коммите. Ещё не коммитил и не add'ил эти правки. Как откатить? Видел git checkout и git restore — что использовать?
3 ответа
27
✓ Принятый ответ — помог автору
Для незакоммиченных правок в рабочей папке современный способ — git restore:
git restore file.py # откатить один файл к последнему коммиту
git restore . # откатить ВСЕ незакоммиченные правки
Старый эквивалент, который ты видел, — git checkout -- file.py (делает то же самое, но checkout перегружен и ещё переключает ветки, поэтому в новых git завели отдельный restore).
⚠️ Осторожно: это безвозвратно выбрасывает несохранённые изменения. Если правки уже добавлены в индекс через git add, сначала верни их из индекса: git restore --staged file.py, а потом уже откатывай содержимое.
Nazar Skaletskiy restore . спас, спасибо 🙏 · 5 месяцев назад
Анна Королёва а если уже закоммитил? — тогда git revert или reset, это другая история · 5 месяцев назад
9
git restore .
4
git checkout .
Оксана Крылова работает, но в новых версиях лучше restore — checkout слишком многозначный · 5 месяцев назад
Ваш ответ
Войдите, чтобы ответить на вопрос.