Когда я пытаюсь сделать базовое git add *.erb
(или любые простые выражения с подстановочными знаками), git не распознает их (их). В качестве примечания: я никогда не делал этого раньше, поэтому я уверен, что это ошибка новичка, но я не нашел помощи в других сообщениях SO или в списке выпускников моей школы, поэтому я подумал, что этот пост может быть уместен.
Для (другого) примера git status дает мне:
# modified: config/routes.rb
# modified: spec/models/question_spec.rb
Я хотел только промежуточный файл маршрутов, поэтому я попробовал git add *s.rb и не играл в кости. Я нахожусь в корне приложения... нужно ли мне находиться в каталоге, содержащем файлы, к которым я пытаюсь применить выражение с подстановочным знаком? Это было бы болезненно, но... на самом деле... это просто сработало.
Надеюсь, это не должно быть отдельным постом, но есть ли более простой способ использовать подстановочные знаки, когда вам не нужно переходить в конкретный каталог?
zsh
) я набираюgit add *.cpp<TAB>
, и оболочка дополняет подстановочные знаки до полных имен файлов.git add **/*.cpp<TAB>
делает всеcpp
файлов в текущем каталоге. Bash может иметь что-то подобное. - person simont   schedule 22.08.2012**
для рекурсивного подстановки (wiki.bash-hackers.org/syntax/ extension/globs), поэтому, если вы используете достаточно новую версию bash,git add **/*.rb
должен делать то, что вам нужно. - person Michael Anderson   schedule 22.08.2012git add **/*s.rb
и все хорошо! - person RudyOnRails   schedule 22.08.2012git add */*s.rb
и преуспел. Действует ли*/
как подстановочный знак для одного каталога глубже, а**/
обозначает рекурсивные бесконечные каталоги? Если я должен задать новый вопрос, дайте мне знать! - person RudyOnRails   schedule 22.08.2012*/*s.rb
будет соответствовать всему, что заканчивается на s.rb на один каталог глубже (а не в текущем каталоге и не глубже). Точно так же*/*/*s.rb
будет всем, заканчивающимся на s.rb двумя каталогами в глубину, но нигде больше (глубже или мельче). - person Michael Anderson   schedule 22.08.2012