Я могу искать точные соответствия из Google, используя цитаты типа "system <<-"
. Как сделать подобную вещь для github? Я не могу заставить его работать.
Как искать в github для получения точных совпадений (например, кавычки для Google)
Ответ 1
Ты не можешь Официальные правила поиска GitHub:
Из-за сложности поиска кода есть несколько ограничений на выполнение поиска:
- Только ветка по умолчанию считается. В большинстве случаев это будет основная ветвь.
- Только файлы размером менее 384 КБ доступны для поиска.
- Вы всегда должны включать хотя бы один поисковый термин при поиске исходного кода. Например, поиск
language:go
недопустим, аamazing language:go
is.- В большинстве случаев результаты поиска могут показывать два фрагмента из одного файла, но в этом файле может быть больше результатов.
- Вы не можете использовать следующие символы подстановки как часть вашего поискового запроса:
.,: ; /\ ' ' " = * !? # $ & + ^ | ~ < > ( ) { } [ ]
Поиск будет просто игнорировать эти символы.
Временное решение:
Если вам нужно выполнить поиск в одном репозитории, вы можете клонировать его локально и использовать grep
чтобы точно найти строку:
grep -r "system <<-" /repository_dir
Ответ 2
Вы можете напрямую использовать Google.
Как насчет этого?
"your_string_to_search" site::https://github.com
"your_string_to_search" site::https://gist.github.com
Ответ 3
Сегодня я пытался найти точное соответствие filter class
в файлах с именем logback.xml
в любом репо на Github. И я придумал следующий запрос, который выполнил эту работу.
"filter class" in:file filename:logback.xml
Чтобы включить точные совпадения с кавычками, вам необходимо следовать вашему поиску с помощью модификатора "in: file". Матчи не совсем точны, слово "класс" должно следовать слову "фильтр", но кажется, что между двумя словами может быть 0 или больше пробелов или символов.
Ответ 4
Если добавить ответ @mrgloom, если вы ищете код на определенном языке программирования в Github с помощью Google, вы можете сделать что-то подобное в строке поиска Google:
- укажите конкретную строку, которую вы ищете, используя оператор поиска "intext:"
- добавьте интересующий вас язык программирования, используя оператор "ext:" (т.е. "ext: py", "ext: R", "ext: rb" и т.д.)
- поиск во всех общедоступных репозиториях в Github с использованием оператора site: упомянутый mrgloom.
Пример:
intext:"%% 2 == 0" ext:R site:github.com
Ответ 5
Если ваш пакет находится в Debian, вы можете использовать их поиск кода, который поддерживает регулярные выражения: https://codesearch.debian.net/