Извлечь несколько файлов, которые были перемещены в рабочем дереве

Я переместил файлы из Project в Project / src . Git считает, что я удалил файлы из Project и создал новые файлы в Project / src .

Кроме того, у меня есть несколько других изменений в рабочем дереве, которые я хочу зафиксировать. Мой git status :


 $ git  status
# On branch feature/cmake
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#   new file:   .gitignore
#   new file:   CMakeLists.txt
#   deleted:    Wasa.xcodeproj/project.pbxproj
#   deleted:    Wasa/Wasa.1
#   renamed:    Wasa/main.cpp -> main.cpp
#   new file:   src/CMakeLists.txt  
#  Lots of new files listed here
#
# Changes not staged for commit:
#   (use "git add/rm ..." to update what will be committed)
#   (use "git checkout -- ..." to discard changes in working directory)
#
#   modified:   CMakeLists.txt
#   deleted:    IODevice.h
#  Lots of deleted files listed here.

Я бы хотел отключить исходные файлы - *. {Cpp, h} .Я знаю, как отключить сцену (ссылка здесь , например, полезна). Я бы хотел избегать того, чтобы набирал много git checkout .

Я не хочу проверять HEAD , потому что некоторые изменения в рабочем дереве я хотел бы сохранить. Я пробовал выполнить git checkout *. {Cpp, h} , что дает следующее:


$ git checkout *.{cpp,h}
zsh: no matches found: *.cpp

Поскольку файлы в настоящее время не существуют в рабочем дереве, я не могу их проверить, потому что *. {Cpp, h} не соответствует ни одному файлу.

Все файлы находятся в Project / src ; вероятно, есть регулярное выражение или что-то еще, что я мог бы запустить с выводом ls src , переданным в команду git checkout , но я хотел бы знать, может ли git сделать это для меня, сам. Есть ли способ сделать это в git?

12
задан Community 23 May 2017 в 12:02
поделиться