Когато се опитвам да направя основен 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/ expansion/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