Когда вы запускаете git checkout .
ваши файлы обновляются в соответствии с их индексным состоянием. Это означает, что локальные изменения потеряны. К сожалению, нет никакого способа вернуть их назад (если не попытать счастья с помощью инструментов восстановления).
git checkout .
в вашем случае не потребовалось бы (слияние). Если вы выполнили эту операцию, потому что вам нужен чистый рабочий каталог, используйте git stash save
+ git stash pop
в следующий раз.
Примечание: неизмененные изменения не фиксируются и, следовательно, они не «принадлежат» любая ветка. Это означает, что они могут легко потеряться, и нет простого способа вернуть их. Поскольку нет никакой фиксации ни на одной ветви (или на любой реф), они также не будут отображаться в reflog
.
Однако , может быть крошечный шанс, что вы сможете восстановить свои содержимое файлов. Вы недавно запускали git stash
перед тем, как выбросить свои локальные изменения? Или вы готовили коммит и вносили add
изменения в эти файлы? Если это так, вы можете запустить git fsck
, найти «висячие капли», проверить их с помощью git cat-file
и сохранить их на диск. git fsck --lost-found
также может быть полезным в вашем случае, см. Как восстановить файлы из отсутствующего дерева и висячих больших двоичных объектов? , Восстановление висячих больших двоичных объектов в git или Восстановление файлов после сбоя git сброс --hard команда