LINUX.ORG.RU

Затёр локальные файлы в git

 ,


1

1

Изначально локально я работал не в своей ветке (стянул файлы из ветки). После работы дал команду git status, чтобы посмотреть на изменения, добавил новые файлы для отслеживания, создал коммит. Дал команду, чтобы запушить: git push origin моя_ветка и получил ошибку:

error: src refspec моя_ветка does not match any error: не удалось отправить некоторые ссылки в «https://gitlab.com/...

Локально файлы удалились и не запушились. Восстановить как-то можно? Локально я же коммит создал.

★★★★★

git reflog(ищешь хэш коммита который создал) + git reset --hard <хэш>

Это для случая если правда коммит со всеми файлами локально создан был.

Dudraug ★★★★★ ()
Последнее исправление: Dudraug (всего исправлений: 1)
Ответ на: комментарий от Dudraug

Проверить коммит на наличие нужных изменений можно через

git show хэш

или

git log -1 --name-only хэш

Последнее покажет только список файлов.

Dudraug ★★★★★ ()

Локально файлы удалились и не запушились

Ты вводишь нас в заблуждение: ни git add, ни git commit, ни git push не аффектят локальные файлы. Признавайся, в какой момент ты делал git checkout.

Сообщение от git-а, которое ты привел, означает «в репозитории origin нет ветки с именем «моя_ветка», что не несет в себе никакого деструктива.

kawaii_neko ★★★★ ()
Ответ на: комментарий от Dudraug

git reflog(ищешь хэш коммита который создал) + git reset --hard <хэш>

Спасибо большое! Чуть сердце не стало к концу рабочего дня

CryNet ★★★★★ ()
Ответ на: комментарий от CryNet

Возможно я сам не сильно понимаю

Это ж git, там ничего не понятно что происходит, и как им пользоваться. Напоминает щиток с кучей кнопок с невнятными подписями. Лишь старый монтер Линус знает что надо жать

I-Love-Microsoft ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.