Я использую ag для поиска git repo. Он не находит совпадений в моем подкаталоге node_modules
. Почему бы и нет, и как я могу контролировать это поведение?Как заставить ag найти совпадения в node_modules?
5
A
ответ
5
Оказалось, что ag по умолчанию сохраняет содержимое файла .gitignore
. Поэтому, если node_modules
находится в .gitignore
, ag не будет искать его. Это все разумное поведение, но трудно отладить, если вы этого не ожидаете. Надеюсь, этот пост поможет.
Там хорошее резюме в конце man ag
:
IGNORING FILES
By default, ag will ignore files whose names match patterns in .gitig-
nore, .hgignore, or .agignore. These files can be anywhere in the
directories being searched. Ag also ignores files matched by the
svn:ignore property if svn --version is 1.6 or older. Finally, ag looks
in $HOME/.agignore for ignore patterns. Binary files are ignored by
default as well.
If you want to ignore .gitignore, .hgignore, and svn:ignore, but still
take .agignore into account, use -U.
Use the -t option to search all text files; -a to search all files; and
-u to search all, including hidden files.
Для моих целей ag -t
кажется, работает хорошо.