Восстановить ошибочно удаленные (только) файлы (многие) в Git

Я по ошибке удалил много файлов из своей рабочей области, у меня также много измененных файлов. Как мне восстановить только удаленные файлы (а не измененные) за один раз?

deleted:    src/main/content/jcr_root/components/mega-menu/directives/dropdown.js
deleted:    src/main/content/jcr_root/js/components/mega-menu/directives/sub-menu.js
deleted:    src/main/content/jcr_root/js/components/mega-menu/mega-menu-module.js
deleted:    src/main/content/jcr_root/js/components/mobile-menu.js
modified:   src/main/content/jcr_root/js/components/product-list.js
modified:   src/main/content/jcr_root/js/components/product-shipping.js
modified:   src/main/content/jcr_root/js/components/reward-category.js

Я пробовал это в одной из моих локальных веток функций: git reset HEAD \*, а затем git checkout --, но похоже, что это возвращает как удаленные, так и измененные.


person SubSul    schedule 26.05.2016    source источник
comment
Вы пробовали stackoverflow.com/questions/215718/   -  person hypeJunction    schedule 26.05.2016
comment
да, это работает для одного файла, в моем случае у меня много удаленных, мне придется запускать эту команду несколько раз!   -  person SubSul    schedule 26.05.2016
comment
И это? stackoverflow.com/questions/953481/   -  person hypeJunction    schedule 26.05.2016
comment
Кстати: Git работает лучше всего, когда ваши коммиты небольшие и в них есть одна логическая единица изменения; мне кажется, что ваш текущий коммит мог быть слишком большим / слишком большим за один раз (конечно, трудно сказать, не зная о коммите).   -  person MicroVirus    schedule 26.05.2016
comment
@MicroVirus У меня около 10 файлов, которые были изменены и готовы к фиксации, и более 20 файлов, которые были удалены по ошибке. Все они в разных папках.   -  person SubSul    schedule 26.05.2016
comment
@hypeJunction Вторая ссылка тоже не сработала.   -  person SubSul    schedule 26.05.2016
comment
Вы пробовали все предложения из 2-х ссылок? Я подозреваю, что этот ответ должен сработать: stackoverflow.com/a/4332209/677409   -  person hypeJunction    schedule 26.05.2016
comment
Начиная с этого коммита и чистого рабочего каталога (git stash, если необходимо), возможно, вы можете использовать git reset --mixed, за которым следует git rm -- *, чтобы получить все удаленные файлы в промежуточной области, затем зафиксировать это, затем добавить все измененные файлы, зафиксировать, затем ваша основная ветка просто выберите этот измененный коммит. Но я этого не пробовал.   -  person MicroVirus    schedule 26.05.2016
comment
@hypeJunction, приятель, ты спас мне день, эта команда сработала. Спасибо.   -  person SubSul    schedule 26.05.2016
comment
@MicroVirus Спасибо за ваши предложения.   -  person SubSul    schedule 26.05.2016