您可以全局搜索所有 GitHub Enterprise Server,也可搜索特定仓库或组织。 有关详细信息,请参阅“关于在 GitHub 上搜索”。
您只能使用这些代� �搜索限定符搜索代� �。 搜索代� �时,专用于仓库、用户或提交的搜索限定符将不起作用。
Tips:
- This article contains links to example searches on the GitHub.com website, but you can use the same search filters with GitHub Enterprise Server. In the linked example searches, replace
github.com
with the hostname for your GitHub Enterprise Server instance. - For a list of search syntaxes that you can add to any search qualifier to further improve your results, see "Understanding the search syntax".
- Use quotations around multi-word search terms. For example, if you want to search for issues with the label "In progress," you'd search for
label:"in progress"
. Search is not case sensitive.
代� �搜索的注意事项
由于搜索代� �的复杂性,执行搜索的方式有一些限制:
- � 必须登录到 GitHub Enterprise Server 上的个人帐户才能在所有公共存储库中搜索代� �。
- 分叉中的代� �仅当分叉有多于父级存储库的星时可搜索。 如果分叉的星少于父级存储库,则分叉没有针对代� �搜索编制索引。 若要在搜索结果中包含星数多于其父级的分叉,需要将
fork:true
或fork:only
添� 到查询中。 有关详细信息,请参阅“在分支中搜索”。 - 仅默认分支针对代� �搜索编制了索引。* 只有小于 5 MB 的文件可搜索。
- 只有每个文件的前 500 KB 可搜索。
- 可搜索多达 4000 个专用 和内部 存储库。 这 4000 个存储库将是� 有权访问的前 10000 个专用 和内部 存储库中最近更新的存储库。
- 只有文件少于 500,000 个的存储库可搜索。
- 除
filename
搜索外,在搜索源代� �时,必须始终至少包含一个搜索词。 例如,搜索language:javascript
是� 效的,而搜索amazing language:javascript
是有效的。 - 搜索结果最多可显示同一文件的两个分段,但文件内可能有更多结果。
- � 法使用以下通配符作为搜索查询的一部分:
. , : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [ ] @
。 搜索只会忽略这些符号。
按文件内容或文件路径搜索
通过使用 in
限定符,可以将搜索限制为源代� �文件的内容和/或文件路径。 如果省略此限定符,则只搜索文件内容。
限定符 | 示例 |
---|---|
in:file | octocat in:file 匹配“octocat”在文件内容中出现的代� �。 |
in:path | octocat in:path 匹配“octocat”在文件路径中出现的代� �。 |
octocat in:file,path 匹配“octocat”在文件内容或文件路径中出现的代� �。 |
在用户或组织的仓库内搜索
若要在特定用户或组织拥有的所有存储库中搜索代� �,可使用 user
或 org
限定符。 要在特定存储库中搜索代� �,可使用 repo
限定符。
限定符 | 示例 |
---|---|
user:USERNAME | user:defunkt extension:rb 匹配 @defunkt 中以 .rb 结尾的代� �。 |
org:ORGNAME | org:github extension:js 匹配 GitHub 中以 .js 结尾的代� �。 |
repo:USERNAME/REPOSITORY | repo:mozilla/shumway extension:as 匹配 @mozilla 的 shumway 项目中以 .as 结尾的代� �。 |
按文件位置搜索
可使用 path
限定符搜索存储库中特定位置显示的源代� �。 使用 path:/
可搜索位于存储库� �目录级别的文件。 或者,指定目录名称或目录路径以搜索位于该命令或其任何子目录中的文件。
限定符 | 示例 |
---|---|
path:/ | octocat filename:readme path:/ 匹配位于存储库的� �级别的包含“octocat”一词的自述文件。 |
path:DIRECTORY | form path:cgi-bin language:perl 匹配 cgi-bin 目录或其任何子目录中包含“form”一词的 Perl 文件。 |
path:PATH/TO/DIRECTORY | console path:app/public language:javascript 匹配 app/public 目录或其任何子目录(即使它们位于 app/public/js/form-validators)中的具有“console”一词的 JavaScript 文件。 |
按语言搜索
您可以基于所编写的语言搜索代� �。 language
限定符可以是语言名称或别名。 有关支持的语言及其名称和别名的完整列表,请参阅 github/linguist 存储库。
限定符 | 示例 |
---|---|
language:LANGUAGE | element language:xml size:100 匹配� �记为 XML 且刚好有 100 个字节的包含“element”一词的代� �。 |
display language:scss 匹配� �记为 SCSS 的具有单词“display”的代� �。 | |
org:mozilla language:markdown 匹配� �记为 Markdown 的来自所有 @mozilla 存储库的代� �。 |
按文件大小搜索
可以使用 size
限定符基于代� �所在文件的大小搜索源代� �。 size
限定符使用大于、小于和范围限定符� �据找到代� �的文件的字节大小筛选结果。
限定符 | 示例 |
---|---|
size:n | function size:>10000 language:python 匹配采用 Python 编写的位于大于 10 KB 的文件中的包含“function”一词的代� �。 |
按文件名搜索
filename
限定符匹配具有特定文件名的代� �文件。 您还可以使用文件查找器在仓库中查找文件。 有关详细信息,请参阅“在 GitHub 上查找文件”。
限定符 | 示例 |
---|---|
filename:FILENAME | filename:linguist 匹配名为“linguist”的文件。 |
filename:.vimrc commands 匹配具有“commands”一词的 .vimrc 文件。 | |
filename:test_helper path:test language:ruby 匹配 test 目录中名为 test_helper 的 Ruby 文件 。 |
按文件扩展名搜索
extension
限定符匹配具有特定文件扩展名的代� �文件。
限定符 | 示例 |
---|---|
extension:EXTENSION | form path:cgi-bin extension:pm 匹配 cgi-bin 下具有 .pm 文件扩展名的包含“form”一词的代� � |
icon size:>200000 extension:css 匹配大于 200 KB 的以 .css 结尾的包含“icon”一词的文件。 |