← Все вопросы

Как откатить изменения в git, если всё сломал?

Задан 6 месяцев назад981 просмотров3 ответа
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 месяцев назад

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект