При удалении ветки, файлы также удаляются?
Проиндексировал изменения на ветке, но не создал коммит. Файлы куда-то пропали. Ветку, на которой были файлы, удалил. Можно ли их как-то восстановить?
Ответы (1 шт):
При удалении ветки файлы также удаляются?
Если это делать с консоли - то нет. Удаление ветки это просто удаление одного файла на 40 символов. Если удалять другими способами, можно и ОС удалить.
Восстановление
Странная ситуация. Скорее всего использовалась какая то "модная система разработки" или "крутые GUI тулы". Но допустим, что все так и есть.
Попробуем что то найти. Для начала запустим такую команду в текущем репозитории в баш консоли
find .git/objects -type f -ls
появятся список файлов с странными длинными именами (где то так .git/objects/1f/7a7a472abf3dd9643fd615f6da379c4acb3e3a). По дате смотрите подходящие. Теперь, кода есть список таких, можно попробовать посмотреть их посмотреть.
git cat-file -p 1f7a7a472abf3dd9643fd615f6da379c4acb3e3a
(внимательно смотрите, как было в имени два символа слеш 38 символов, а стало 40 вместе)
больше деталей можно посмотреть здесь.
К сожалению, эти файлы потеряли имена, но содержимое их доступно.
Самое главное - не запускать git gc и различные GUI утилиты.
Также, следует заметить, что в некоторых утилитах (source tree) бывают странные ошибки, когда они отображают не то, что есть на самом деле.