Задать вопрос
Marcenary
@Marcenary

Можно ли как-то откатить локальный репозиторий до локального коммита?

Закинул папку в локальный репозиторий с кодом, сделал git add . , git commit -m ..., но после подумал что надо проверить на какой я ветке, перед пушем, т.к. работаю с git редко, ввел команду git checkout main и папка пропала и с дуру удалил оригинальную папку. Я смог вернуть папку, но файл внутри не смог пока. Можно как-то найти ветку, куда я закинул папку и/или восстановить файл?
Много я там не написал, но не хочется по новой писать и чтобы повторялась такая ситуация.
  • Вопрос задан
  • 178 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@mvv-rus
Настоящий админ AD и ненастоящий программист
Как-то - можно, если вы зафиксировали изменения, конечно - а, как вы пишете, вы их зафиксировали.
Для начала, посмотрите, что вы там делали, с помощью git reflog: там зафиксированы и коммиты, и переключения веток. Думаю первых десяти записей (git reflog -10) вам хватит, если нет - увеличьте число в команде.

Скорее всего, вы быстро увидите название ветки, с которой переключились на main, после вы этого сможете переключиться обратно на нее с помощью git checkout.
Ответ написан
Комментировать
если надо временно спрятать изменения (например, забыли сделать pull с боевого), то есть есть stash:
stash add - прячет только изменения по отслеживаемым файлам
stash add -u прячет в том числе и неотслеживаемые файлы. Тут нужно, чтобы игнор был нормально настроен, чтобы в stash не улетел какой-нибудь каталог с фото/видео.

А если уже сделали коммиты - то создайте новую ветку. Тогда, даже если придётся в исходной ветке откатиться на несколько коммитов, они будут доступны в новой ветке
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы