LINUX.ORG.RU

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

 ,


1

1

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

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

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

★★★★★

Последнее исправление: CryNet (всего исправлений: 1)

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

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

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

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

git show хэш

или

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

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

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

Значит коммит есть. Как восстановить?

CryNet ★★★★★
() автор топика

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

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

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

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

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

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

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

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

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

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