При удалении ветки, файлы также удаляются?

Проиндексировал изменения на ветке, но не создал коммит. Файлы куда-то пропали. Ветку, на которой были файлы, удалил. Можно ли их как-то восстановить?


Ответы (1 шт):

Автор решения: KoVadim

При удалении ветки файлы также удаляются?

Если это делать с консоли - то нет. Удаление ветки это просто удаление одного файла на 40 символов. Если удалять другими способами, можно и ОС удалить.

Восстановление

Странная ситуация. Скорее всего использовалась какая то "модная система разработки" или "крутые GUI тулы". Но допустим, что все так и есть.

Попробуем что то найти. Для начала запустим такую команду в текущем репозитории в баш консоли

 find .git/objects -type f -ls

появятся список файлов с странными длинными именами (где то так .git/objects/1f/7a7a472abf3dd9643fd615f6da379c4acb3e3a). По дате смотрите подходящие. Теперь, кода есть список таких, можно попробовать посмотреть их посмотреть.

git cat-file -p 1f7a7a472abf3dd9643fd615f6da379c4acb3e3a

(внимательно смотрите, как было в имени два символа слеш 38 символов, а стало 40 вместе)

больше деталей можно посмотреть здесь.

К сожалению, эти файлы потеряли имена, но содержимое их доступно.

Самое главное - не запускать git gc и различные GUI утилиты.

Также, следует заметить, что в некоторых утилитах (source tree) бывают странные ошибки, когда они отображают не то, что есть на самом деле.

→ Ссылка