Вам не нужно «загружать их снова», потому что вся история репозитория существует локально, когда вы используете Git.
cdhowie
ты знаешь, как получить их у местных?
Чарли Паркер
Ответы:
164
Поскольку git - это распределенная система контроля версий, ваш локальный репозиторий содержит всю информацию. Загрузка не требуется; вам просто нужно извлечь нужный контент из репозитория у вас под рукой.
Если вы еще не зафиксировали удаление, просто проверьте файлы из текущего коммита:
git checkout HEAD <path>
Если вы зафиксировали удаление, вам необходимо извлечь файлы из фиксации, в которой они есть. Предположительно это будет предыдущая фиксация:
git checkout HEAD^ <path>
но если он nкоммитируется назад, используйте HEAD~nили просто запускайте gitk, найдите SHA1 соответствующего коммита и вставьте его.
как побочный комментарий, это также работает для всего каталога, а не для отдельного файла (по крайней мере, он работал, когда я его пробовал). Спасибо, кстати.
Чарли Паркер
5
NB, <path>это обязательно, даже если это просто .точка для текущего каталога. Но «ветка» ( HEADв приведенном выше примере) необязательна. Как и в случае со многими другими командами Git, ни вывод, ни справка бесполезны.
предупреждение, что при использовании git reset --hardметода, так как это вернет все дерево обратно в то место, где вы поместите HEAD / HEAD ^ / HEAD ~ n, и он сделает это без предубеждений и потенциально потеряет много
коммитов
git checkout filename был для меня ответом :)
Ruub
git checkout filename создает просто пустой файл
mrek
поместил в нужную папку и заработал git checkount .как шарм!
hzitoun 07
21
Если вы удалили несколько файлов локально, но не зафиксировали, вы можете принудительно оформить заказ
Как видно из вывода «Уже актуально», человек, задающий этот вопрос, в последнее время ничего не совершал. Может, стоит указать, что git checkout -f HEAD ОПАСНО? Поскольку это может отменить локальные изменения, которые не были зафиксированы (восстановление предыдущих файлов является положительным результатом, потеря изменений в отредактированных файлах - отрицательным).
Лайонел Требюшон
15
Если вы удалили несколько файлов локально и не зафиксировали изменения, перейдите по пути к локальному репозиторию, откройте оболочку git и введите.
$ git checkout HEAD .
Все файлы, удаленные до последней фиксации, будут восстановлены.
Добавление "." восстановит все удаленные файлы в текущем репозитории по их соответствующим путям.
Для получения более подробной информации посетите документации .
Ответы:
Поскольку git - это распределенная система контроля версий, ваш локальный репозиторий содержит всю информацию. Загрузка не требуется; вам просто нужно извлечь нужный контент из репозитория у вас под рукой.
Если вы еще не зафиксировали удаление, просто проверьте файлы из текущего коммита:
Если вы зафиксировали удаление, вам необходимо извлечь файлы из фиксации, в которой они есть. Предположительно это будет предыдущая фиксация:
но если он
n
коммитируется назад, используйтеHEAD~n
или просто запускайтеgitk
, найдите SHA1 соответствующего коммита и вставьте его.источник
<path>
это обязательно, даже если это просто.
точка для текущего каталога. Но «ветка» (HEAD
в приведенном выше примере) необязательна. Как и в случае со многими другими командами Git, ни вывод, ни справка бесполезны.git checkout filename
git reset --hard
тоже может помочьисточник
git reset --hard
метода, так как это вернет все дерево обратно в то место, где вы поместите HEAD / HEAD ^ / HEAD ~ n, и он сделает это без предубеждений и потенциально потеряет многоgit checkount .
как шарм!Если вы удалили несколько файлов локально, но не зафиксировали, вы можете принудительно оформить заказ
источник
Если вы удалили несколько файлов локально и не зафиксировали изменения, перейдите по пути к локальному репозиторию, откройте оболочку git и введите.
Все файлы, удаленные до последней фиксации, будут восстановлены.
Добавление "." восстановит все удаленные файлы в текущем репозитории по их соответствующим путям.
Для получения более подробной информации посетите документации .
источник
Вам необходимо проверить предыдущую версию, прежде чем удалять файлы. Попробуй
git checkout HEAD^
проверить последнюю ревизию.источник
Кроме того, я добавляю, чтобы выполнить следующие шаги, чтобы репозиторий git был правильно связан с IDE:
Я надеюсь, что это было полезно!!
источник