数学建模社区-数学中国
标题:
73个GitHub高级搜索技巧
[打印本页]
作者:
杨利霞
时间:
2021-7-8 14:57
标题:
73个GitHub高级搜索技巧
7 Z- m* L/ k; b4 q1 }9 U
73个GitHub高级搜索技巧
2 K6 o% |" O5 C; Y( O' |
73个GitHub高级搜索技巧
5 V q/ L$ k2 j4 b
1. 前言
2 F! l3 E' y& N- o/ g8 Y' S, e% d
2. 排序搜索结果
5 i) r. |, M5 V2 q* R3 Y
2.1. 按交互排序
8 P' ~: Q, h5 k
2.2. 按反应排序
; y C- V! u/ l( X: x
2.3. 按作者日期排序
6 o1 I6 k, M' W7 |
2.4. 按提交者日期排序
/ _/ B; |' R, ]9 m
2.5. 按更新日期排序
) B# ]/ T; A. [8 Q6 ]4 C+ s2 ~* w
3. 搜索范围
% ]4 U6 K! `9 G$ ?
3.1. 搜索存储库
! g% g. b1 X; A0 i$ L9 L
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
* b- v- y5 i! \0 c4 g
3.1.2. 在用户或组织的仓库中搜索
+ T/ m' Q5 K- g
3.1.3. 按存储库大小搜索
3 P! P. s: V! B! P* d7 K
3.1.4. 按分叉数搜索
7 T& V# K# `% ?3 o& h9 T
3.1.5. 按星数搜索
7 J; m$ o( b" ~. {9 L1 {
3.1.6. 按创建或上次更新存储库的时间搜索
0 w6 Q% N, B+ @
3.1.7. 按语言搜索
Z0 p+ i& ~5 h* P: u
3.1.8. 按主题搜索
8 ]! D: P, A/ `$ K
3.1.9. 按主题数量搜索
- D* b$ Z+ G3 p5 L# x* }" I
3.1.10. 按许可证搜索
, A+ ^7 d: v2 w1 B! l4 X
3.1.11. 按存储库可见性搜索
. q Q! _% q2 S7 p
3.1.12. 根据仓库是否是镜像进行搜索
/ D7 x5 @. p2 [& |
3.2. 搜索主题
. [* L4 E* q8 V8 o* `% Y' q) g
3.2.1. 使用搜索限定符缩小搜索范围
3 w" C& }5 ?( ^( i4 X
3.3. 搜索代码
/ I( e- M2 p1 A5 Q% L2 m* a9 M: b4 H- {
3.3.1. 按文件内容或文件路径搜索
) \% R! g- f: N. J6 p% P: P
3.3.2. 在用户或组织的仓库中搜索
" r3 t8 O7 P ]" j4 \1 Q7 n
3.3.3. 按语言搜索
( ?0 ]* L9 R" B: ?( V
3.3.4. 按文件大小搜索
) C, G: ?1 {! j0 U$ G5 Z: ]& |
3.3.5. 按文件名搜索
& D p* a2 y. @0 O
3.4. 搜索用户
, C: l4 G, F6 H0 c4 H
3.4.1. 按帐户名称、全名或公共电子邮件搜索
5 i9 B, Q& P, w1 R+ F( @; @
3.4.2. 按用户拥有的仓库数量搜索
' Z$ A) K" }# W* D4 U
3.4.3. 按创建用户帐户的时间搜索
7 {& D" `& L% ?3 L
3.4.4. 按关注者数量搜索
# {0 g$ O4 T, {' o$ |
1. 前言
2 g% R; `+ m! P6 T! N5 \
GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
; D& |2 ^. T7 F9 e
9 Y- _& k, i$ ]# @1 p+ J/ G
0 F! [; ^5 Y7 n; \5 H6 Z f2 Y
本文参考自GitHub官方文档。
8 G3 n0 T. t4 h; _1 ?5 ~2 G' @
GitHub官方文档:https://docs.github.com/en
/ ~, D& j8 \3 z# |, h
4 ~" r. i% t6 T/ ]4 s/ P$ w6 e4 z% x
/ e8 K6 Z7 v, ?: s& x2 ~, B
# J2 W8 k9 R7 F/ G1 y
/ u- o/ k* w; R! N
本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。
" g9 ^2 l( Z- @
/ R! v9 t, R4 t" e. c, Z
: G. H4 {! f4 \/ z
2. 排序搜索结果
! s4 t: v2 @+ y; ?2 i+ W/ a
2.1. 按交互排序
. a# W0 H0 u/ l. d+ k' K" l7 b& v: G
语法 例子
& G3 D% J' L4 F9 Q3 m
org:github sort:interactions 匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
' h4 i4 ?% [0 O0 t4 O2 Y* a
org:github sort:interactions-asc 匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
9 F5 f0 H2 K' N
2.2. 按反应排序
" p- H" w9 m7 n6 L; e% |( P' p0 D
语法 例子
' U( \' h( m) K
org:github sort:reactions 匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
; F, B% W% p6 S6 h% H* K
org:github sort:reactions-asc 匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
# K. A, E; H% n+ |7 m. Y
org:github sort:reactions-+1 匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
& ?- B# @. K- S* w
org:github sort:reactions- -1 匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
' c" x9 f; C5 E% P
org:github sort:reactions-smile 匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
/ @/ I/ K! Q* ~9 F
org:github sort:reactions-tada 匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
3 j, c/ }1 P0 t1 E6 R6 n& T
org:github sort:reactions-heart 匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
& g9 B& j) s; |: s
2.3. 按作者日期排序
9 n% ~7 ~* Z7 [3 e
语法 例子
. y; \0 |1 {' U8 r* ]% C1 A
org:github sort:author-date feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
4 ]) u5 [. _8 H1 c" ~
org:github sort:author-date-asc feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
- n# j6 W% ^1 c
2.4. 按提交者日期排序
. D# ^, @. P# j. |5 y& L- ^
语法 例子
! q- [6 p& @/ F$ t) c" }& }
org:github sort:committer-date 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
: s8 |% f$ R( C1 q4 X2 F
org:github sort:committer-date-asc 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
7 t. @ s- e# [- T, {: N: z
2.5. 按更新日期排序
: H) t+ U3 ]0 w: J- U
语法 例子
- M. \7 E* S. e& ]
sort:updated feature 匹配包含“feature”一词的存储库,按最近更新日期排序
# H9 N7 p2 f* j- b: r$ ~
sort:updated-asc feature 匹配包含单词“feature”的存储库,按最近更新日期排序
0 w9 }0 F' j8 B, ~+ {
3. 搜索范围
6 ?, k: K2 d6 X0 Y
3.1. 搜索存储库
4 Z, f8 E# {2 ^( [% c
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
3 w$ k" h; o, T6 u+ x
语法 例子
0 J0 p1 Q- K- B4 z K( q- b1 Y: B
in:name jquery 匹配存储库名称中带有“jquery”的存储库。
) w7 h' P+ ~4 i" }' ^: R
in:description jquery 匹配存储库描述中带有“jquery”的存储库。
1 g5 e5 O( C/ v! m$ X0 |8 f9 W0 p
in:readme jquery 匹配存储库的 README 文件中提到“jquery”的存储库。
8 w: @, t7 y4 w" e7 O5 \; a, ]" V
3.1.2. 在用户或组织的仓库中搜索
; d$ k4 A9 s: i/ X3 k, _. ]( P
语法 例子
5 c( y; [3 {/ {+ Z
user:defunkt forks:>100 匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
5 Q; y% ~' l! c# i
3.1.3. 按存储库大小搜索
" ^. j! S; d. `$ w2 t
语法 例子
$ B- t7 I8 `. m* o: y L
size:1000 匹配大小为 1 MB 的存储库
0 A3 O$ P! F/ P& W4 B* |7 o6 C; W* G/ [
size:>=30000 匹配至少 30 MB 的存储库
' K/ _: q. @4 x- X
size:<50 匹配小于 50 KB 的存储库
" f2 Y+ |: T1 o0 s
size:50…120 匹配 50 KB 到 120 KB 之间的存储库
5 x; o8 u& o1 n) S; z1 W
3.1.4. 按分叉数搜索
% D/ w' n# |/ K! b$ ?% w- {
语法 例子
# K3 v s$ d1 U
forks:5 匹配只有五个 fork 的存储库
0 o4 B: ?6 P6 i: h6 i+ @& ]
forks:>=205 匹配至少有 205 个 fork 的仓库
3 y7 D0 t. e3 l! u: b3 l
forks:<90 匹配具有少于 90 个 fork 的存储库
8 {8 i( C/ F1 {; D7 V
forks:10…20 匹配具有 10 到 20 个 fork 的存储库
8 [1 I0 @% d7 h0 d Y
3.1.5. 按星数搜索
F) B' l5 y9 K$ I9 r
语法 例子
1 `6 r$ B: ?2 {$ y
stars:500 匹配恰好有 500 颗星的存储库
* Q9 x" r) v5 T) n' X
stars:10…20 匹配小于 1000 KB 的 10 到 20 星的存储库
+ B$ d# q$ D$ d
stars:>=500 fork:true language:php 匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
% [7 j9 _, `: g+ {* M
3.1.6. 按创建或上次更新存储库的时间搜索
* x: U7 ~; m$ s2 S* P/ w# t
语法 例子
7 @1 V: R* s; \$ ?/ _- G( a* ^- V
webos created:<2011-01-01 匹配 2011 年之前创建的带有“webos”一词的存储库
d: k8 s% ?4 i1 e
css push:>2013-02-01 匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
% _0 S3 |) K/ |0 h
case push:>=2013-03-06 fork
nly 匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
( \ D9 i7 F& a2 v/ k2 X
3.1.7. 按语言搜索
5 W0 @' m3 E! _: z1 B& C5 C
语法 例子
% O& p8 ` W) i: r& j0 f
rails language:javascript 匹配使用 JavaScript 编写的带有“rails”一词的存储库
6 ?+ O( Z t" W6 A8 k+ S6 `
3.1.8. 按主题搜索
4 V, V5 ~0 C2 ^- E
语法 例子
' {4 k, D. Q3 n4 Q, K
topic:jekyll 匹配已分类为主题“jekyll”的存储库
% X. ]! ]# b/ j4 B
3.1.9. 按主题数量搜索
$ l: i$ {* z( I1 }/ G
语法 例子
3 i9 a3 j, y7 n8 F$ }
topic:5 匹配具有五个主题的存储库
9 ?1 I& i% D4 ]& ?& I) F& E
topic:> 3 匹配具有三个以上主题的存储库
3 q5 X/ e0 V4 ~- u+ M; |5 m1 `
3.1.10. 按许可证搜索
+ H# J( O6 I0 R8 @ P; _
语法 例子
( p: E4 {+ O3 D5 D' @
license:apache-2.0 匹配在 Apache License 2.0 下获得许可的存储库
: y1 c& k6 Q# \( ] p* \* \) d+ w+ R3 n
3.1.11. 按存储库可见性搜索
: B1 m# s+ V7 s
语法 例子
$ J" @! \* c" L. _
is:public org:github 匹配 GitHub 拥有的公共存储库
3 Y1 K5 A! n' ~5 {6 B
is:internal test 匹配您可以访问并包含“test”一词的内部存储库
! z% d: t8 x! @* X7 @9 s
is:private pages 匹配您可以访问并包含“pages”一词的私有存储库
4 t! a3 h" m2 a- k* W' e
3.1.12. 根据仓库是否是镜像进行搜索
6 P$ B+ N2 ~: N" j: p
语法 例子
- J1 N! j% Z# T7 s5 ?
mirror:true GNOME 匹配作为镜像且包含单词“GNOME”的存储库
# m4 U% |1 U2 a8 l
mirror:false GNOME 匹配非镜像且包含“GNOME”一词的存储库
6 i/ k. E" v/ [& i0 Q t6 G: l
3.2. 搜索主题
+ Q3 X" b1 L; Z7 X! l+ @
3.2.1. 使用搜索限定符缩小搜索范围
* n) K- t G: ~9 X0 B. z
语法 例子
- z! O5 e6 \0 ]1 J/ d/ `0 Q' Y
is:curated javascript 匹配经过策划并包含“javascript”一词的主题
* S& U, T% r) K' Q
is:featured javascript 匹配https://github.com/topics/上的特色主题并包含“javascript”一词
' \" Q4 B5 [ {
is:not-curated javascript 匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
0 u* n; i2 @6 i+ ]5 X" c" g" N( H
is:not-featured javascript 匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
$ j2 L) |, g+ v) O4 ~/ x
repositories:>5000 匹配具有超过 5000 个存储库的主题
4 W% Z! w% i2 z: H5 R
3.3. 搜索代码
7 P* p. R( g8 [) }+ e7 X) L
序号 代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
# M! ]' h- Y+ N9 E7 @8 ?, A
1 必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
# B1 o. C8 T6 j
2 只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加fork
nly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
$ M: [" Z0 q" v5 @* Z. _
3 仅对默认分支进行索引以进行代码搜索
# n; {' `$ h% W) Z7 m2 X6 v
4 只能搜索小于 384 KB 的文。
% w5 n* u) `+ f) {; N
5 只能搜索少于 500,000 个文件的存储库
0 N- R/ g0 G9 }2 O8 ~6 G
6 只有在去年有活动或在搜索结果中返回的存储库才可搜索
7 W& Q' R2 A }0 G$ s
7 除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
* a" L: a' _6 t! m$ V* h
8 搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
4 \& _' _2 @+ m
9 您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
0 w9 m* ^4 W) s- T- y% U4 l T" A9 U
3.3.1. 按文件内容或文件路径搜索
0 _( o$ b. \8 G
语法 例子
% u6 S+ Y% v1 b& m- V# [
octocat in:file 匹配文件内容中出现“octocat”的代码
. D1 x. R1 g3 x
octocat in:path 匹配文件路径中出现“octocat”的代码
4 x# e* |2 Y6 N. F
3.3.2. 在用户或组织的仓库中搜索
7 O3 W) {/ _/ E8 |" P
语法 例子
P( Z3 [: E9 [7 k# E) s4 E
user:defunkt extension:rb 匹配来自@defunkt 的以.rb结尾的代码
6 B' d9 W( U) A! `- L
org:github extension:js 匹配来自 GitHub 的以.js结尾的代码
4 ~* k7 A9 \$ K: ^
repo:mozilla/shumway extension:as 匹配@mozilla 的 shumway 项目中以.as结尾的代码
* A" F$ ?6 O3 W1 `
3.3.3. 按语言搜索
3 w7 Z; c; ~3 V% c8 r! q- ?! P. a
语法 例子
0 k+ Z. ~4 u+ H
element language:xml size:100 匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
! R1 U# F3 W% Z+ C! p* r8 N
display language:scss 匹配带有单词“display”的代码,它被标记为 SCSS
! [" y, k7 l# a/ t' O
org:mozilla language:markdown 匹配所有@mozilla 存储库中标记为 Markdown 的代码
7 N0 i0 |* ?% X3 k
3.3.4. 按文件大小搜索
' h8 n' c7 q6 N1 a
语法 例子
( N' L' Y9 W# W+ V* U0 ~
function size:>10000 language:python 匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
# q( h' C* b0 F
3.3.5. 按文件名搜索
$ l7 h2 Y* k3 _' s- |# z
语法 例子
. N t% a1 P+ k! B3 f1 ^5 a
filename:linguist 匹配名为“linguist”的文件
( |- N, y% Q* [# r5 B
filename:.vimrc commands 匹配带有 “commands” 一词的.vimrc文件。
' u6 Q( ^1 ~. P
3.4. 搜索用户
# [% c( b/ a/ C
3.4.1. 按帐户名称、全名或公共电子邮件搜索
# A: |- Z9 H6 \" P6 W1 ^
语法 例子
* ?6 o2 I: f9 t, c
user
ctocat 匹配用户名为“octocat”的用户
- Y8 W$ H9 G5 p2 L
org:electron type:users 匹配 Electron 组织的账户名
. _- L2 L( b. b6 P* n) E, X7 M+ h9 d5 @
kenya in:login 匹配用户名中包含“kenya”一词的用户
& B: \$ p9 u" F, C; h* b; H
bolton in:name 匹配真实姓名中包含单词“bolton”的用户
p6 U Q- m* X; }
fullname:Nat Friedman 匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
1 J9 u) b, L/ x! \
data in:email 将用户与电子邮件中的“data”一词匹配起来
/ \1 h+ Z6 h: d. |2 W( V T% d
3.4.2. 按用户拥有的仓库数量搜索
7 |% x# m' E x% a; j+ j8 K
语法 例子
h# O% }! w0 K0 a% u
repos:>9000 匹配存储库数量超过 9,000 的用户
) o l* v) m" |! W% H% V
bert repos:10…30 匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
% o" `" ?# H0 i
3.4.3. 按创建用户帐户的时间搜索
: O% q# D) _9 i) m8 N0 ?! j# S5 T$ M
语法 例子
. H# V4 j1 g- F; `/ V. q _
created:<2011-01-01 匹配 2011 年之前加入的用户
% j7 \( |- S4 x& g
created:>=2013-05-11 匹配在 2013 年 5 月 11 日或之后加入的用户
+ S+ ^9 c* p6 C7 M: C3 `* H3 r6 |
created:2013-03-06 location:london 匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
& E* h4 i0 J/ x
created:2010-01-01…2011-01-01 john in:login 匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
/ V! g9 O" X! y# V, i/ n
3.4.4. 按关注者数量搜索
( Z8 u+ P3 J: v; p5 |" d: r+ ?5 s0 a# I
语法 例子
& `7 U: \; M, O1 O
followers:>=1000 匹配拥有 1,000 或更多关注者的用户
E, P$ e& ]: I5 e. F- q" J$ s0 u
sparkle follower:1…10 匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
, A: ?# a0 r5 n
————————————————
5 s% \+ R1 s; B! E; Q2 Q( {, B
版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
1 u% d2 [8 u+ }7 e
原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
3 c2 Y6 T5 w7 l6 e
1 H/ R. q( E9 i, o$ o
; N- m) Q& M, v& q9 J
作者:
1051373629
时间:
2021-8-15 17:52
谢谢了! 谢谢了!
) N7 I0 X1 n4 J4 Y$ K4 s O4 I
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5