git clean -f -d удалил файлы из моего локального каталога

git clean -f -d также удалил файлы из моего локального каталога. Как мне их восстановить? Я использовал его для удаления неотслеживаемых каталогов и файлов и обнаружил, что он также удалил его из моей локальной файловой системы. Это возможно? Что я сделал не так и есть ли способ вернуть их?

3 ответа

Решение

Как сказано в предыдущем ответе, если вы работаете в Linux, вы не можете их получить. Они ушли: вот в чем смысл "мерзавца". Если вы не используете файловую систему, способную делать моментальные снимки, но тогда вы, вероятно, знаете, как их вернуть.

Если ваша цель состояла в том, чтобы не видеть их в "git status", у вас есть две возможности:

A)

git status -uno

не печатает неотслеживаемые файлы и каталоги.

Б) Если существует фиксированный набор файлов (или шаблон имени файла), которые вы никогда не захотите видеть в "git status" и не ставить их под версионирование, вы можете "игнорировать" их. Вам просто нужно поместить их имя или шаблон в файл с именем ".gitignore" в корне вашего репозитория.

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

В следующем примере игнорируются имена файлов, оканчивающиеся на ".html" и файл с именем "out/myFile.txt":

*.html
out/myFile.txt

Увидеть

git help ignore

для получения дополнительной информации.

Это действительно зависит от того, как вы их удалили. В Windows эти файлы должны были просто пойти в корзину. В Linux я считаю, что git использует команду rm, поэтому вы должны быстро найти способы восстановления файлов, случайно удаленных с помощью rm.

Файлы, удаленные git clean были не отслежены, что означает, что Git не сохранил лишнюю копию их. Если вам нужно получить их, лучше всего сразу же перемонтировать файловую систему только для чтения и запустить любой инструмент для восстановления удаленных файлов, подходящий для вашей операционной системы.

Другие вопросы по тегам