Как откатить результат если не комитил?

Если вы не выполнили коммит изменений в Git, то есть не зафиксировали их в истории репозитория, то есть не сохранены в локальной базе данных Git, есть возможность откатиться к предыдущему состоянию файлов.

Git имеет набор инструментов, позволяющих управлять состоянием файлов в рабочем каталоге. Команда git status позволяет проверить, какие файлы были изменены, но еще не были зафиксированы. Если вы увидите файлы в разделе "Untracked files" или "Changes not staged for commit", то значит, что они еще не добавлены в индекс и не были зафиксированы.

Самая простая и гарантированная способ вернуться к предыдущему состоянию файлов, если вы не выполнили коммит, - это выполнить команду git checkout . или git checkout -- .. Эта команда отменит все не зафиксированные изменения и вернет файлы в состояние, в котором они были последний раз зафиксированы.

Однако, важно понимать, что выполнение git checkout . удалит все изменения, включая несохраненные, и не обратимо. Так что, убедитесь, что вы действительно хотите удалить все несохраненные изменения перед выполнением этой команды.

Если вам нужно только отменить изменения в определенных файлах, то вы можете указать путь к этим файлам или каталогам после git checkout. Например, git checkout file.txt или git checkout path/to/files/ отменят изменения только в этих файлах или каталогах.

Еще один вариант - использование команды git stash. Она позволяет временно сохранить текущие изменения и вернуться к исходному состоянию репозитория. Выполнение git stash создаст "запасную копию" текущих изменений, и ваш рабочий каталог будет сброшен до состояния последнего коммита. Затем, когда вы будете готовы вернуть изменения, выполните git stash apply или git stash pop, чтобы применить сохраненные изменения.

Наконец, если у вас есть удаленный репозиторий, вы также можете сделать "чистый перезапуск" с помощью команды git reset --hard <commit> или git reset --hard origin/<branch>. Это откатит ваш локальный репозиторий к указанному коммиту или ветке и удалит все несохраненные изменения. Будьте внимательны при использовании этой команды, так как она необратима, и вы можете потерять все не зафиксированные изменения.