Можно ли искать конкретное имя файла на GitHub?


136

Я знаю, что веб-интерфейс GitHub позволяет вам искать во всех репозиториях файлы с определенным путем (например, поиск path:/app/models/user.rbдает> 109 тыс. Результатов), но есть ли способ искать во всех репозиториях имена файлов независимо от их расположения в подкаталоге? Я пробовал использовать звездочки в pathаргументе, но это не сработало.


какую команду вы запускаете? вы попробуете lsвместо find
meda

1
Я имел в виду веб-интерфейс - это все, что я пробовал.
Питер Альфвин,

8
Тем, кто проголосовал против, я совершенно не понимаю причину. Я знаю, что это не "вопрос программирования", но он кажется вопросом "инструментов программирования", и на сайте есть и другие вопросы по github. Если речь идет о качестве вопроса, я был бы признателен за дополнительную информацию или голосование за закрытие, чтобы я мог понять, о чем вы говорите.
Питер Альфвин,

Ответы:


109

Ли поиск user.rb in:path сделать то , что вы хотите сделать? В качестве альтернативы также есть этот поиск filename:user.rb

Найдено на: https://help.github.com/articles/searching-code/


3
using in:path YOUR_FILENAME_HEREотлично работает - и, что очень важно, работает с перекрестным репозиторием, поэтому вы можете искать репозитории всей вашей организации, чтобы найти, какие репозитории содержат определенное имя файла. Ницца!
Брэд Паркс,

1
Это больше не возможно. Поисковые запросы, на которые вы ссылаетесь, возвращают следующую ошибку: «Мы не смогли выполнить этот поиск. Должен включать хотя бы одного пользователя, организацию или репозиторий»
hedgie

2
Да, они есть ... вам просто нужно войти в GitHub, чтобы он работал. Не знаю, когда они это изменили. Это общая проблема для поиска кода, а не только для этих конкретных поисков.
Orangenhain

Жалко, что это только «путь содержит эту строку где угодно», а не как имена файлов или что-то в этом роде: |
rogerdpack

56

Во вводе поиска вы можете использовать filenameпараметр для поиска в нескольких репозиториях, например:

filename:my_filename.txt

Если вы ищете имя файла в определенном репозитории, вы можете просто нажать tи начать вводить имя файла (см. Сочетания клавиш GH ).


2
Это правильный ответ. Обратите внимание, что в запросе нет пробелов.
Эрик

30

GitHub представил FileFinder в 2011 году.

Попробуйте сами: просто нажмите t в любом представлении файла или каталога репо. [1]

Итак, вы по-прежнему ограничены репозиторием.

[1] https://github.com/blog/793-introduction-the-file-finder

Другой подход к Вашему вопросу:

Могу ли я использовать Git для поиска совпадающих имен файлов в репозитории?


1
Да, я знал об этом и должен был упомянуть об этом в своем вопросе. То есть нет возможности искать в репозиториях? Если нет, знаете ли вы, есть ли техническая причина, почему нет?
Питер Альфвин,

4
о, так ты тоже пробовал some_weird_file_Youre_looking_for.ext in:path? Потому что это работает для меня ...
Камикколо

нет, но я просто попробовал, path:user.rbи он дал мне только 324 результата, и все они были user.rbна высшем уровне.
Питер Альфвин,

И похоже, что ваши результаты index.phpтоже на высшем уровне.
Питер Альфвин,

1
@Kamiccolo, вы должны опубликовать это как ответ, потому что это точно правильный ответ! Питер Альфвин тоже должен принять это ... важная часть находится в пути. Проверено, что он работает независимо от того, где находится имя файла в пути, а не только для файлов верхнего уровня.
Сэм Солсбери

11

В моем случае я хотел найти конкретное имя файла во всех репозиториях моей организации. Это можно сделать, введя это в поле поиска:

org: имя-пользователя-вашей-организации имя- файла: имя -файла

Конечно, просто введите «имя-файла: имя-файла», если вы хотите выполнить поиск по всему GitHub.

Я не видел этого в https://help.github.com/articles/searching-code/, но обнаружил, когда переключил контекст, и GitHub автоматически ввел фильтр для меня.


8

Вы можете попробовать Google. Google для filename.txt site:github.com.


1
+1 за то, что я предполагаю, соответствует не только текущим именам файлов, но и любым файлам, которые включают этот текст, а также некоторому количеству имен файлов из более ранних версий репозиториев.
Питер Альфвин,

5

Я рафинированный @ Энди-Lester ответа с intitle:, то есть я хочу найти , где находится файл simple_spinner_item.xmlв исходном коде Android, размещенном на GitHub, так что я ищу на Google этой строки:

site:github.com intitle:simple_spinner_item.xml github.com/android

^                       ^                       ^
|                       |                       |
on github site          |                       |
                        |                       |
filename I'm searching -+                       |
                                                |
github user ------------------------------------+

0

Я хотел бы уточнить ответ @ajain .

  1. В веб-интерфейсе Github вы уже должны находиться в представлении каталога Reop.

введите описание изображения здесь


  1. Затем нажмите Tклавишу. Появится средство поиска файлов.

введите описание изображения здесь


  1. Введите имя файла, чтобы открыть его.

введите описание изображения здесь


Дополнительные ярлыки для просмотра исходного кода .


-3

Просто нажмите «t», и это позволит вам искать файл.


1
Небольшое уточнение: вы уже должны быть в представлении каталога Reop. См. Ответ @ Kamiccolo ниже
tfantina
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.