数学建模社区-数学中国
标题:
73个GitHub高级搜索技巧
[打印本页]
作者:
杨利霞
时间:
2021-7-8 14:57
标题:
73个GitHub高级搜索技巧
( c" L6 E# d, N; S& |* P6 J
73个GitHub高级搜索技巧
. w8 ^( a, i; v- n
73个GitHub高级搜索技巧
; R7 ^/ I; N0 c! k
1. 前言
! m8 e( ]5 E3 U, E$ W u- ^
2. 排序搜索结果
) o9 P* R2 F8 L! R, f3 ?5 W2 Q" g5 ]1 j
2.1. 按交互排序
) f% Q! v5 z( y c
2.2. 按反应排序
) @3 A. \% G& I, C& V& u: F4 c
2.3. 按作者日期排序
& m, t6 A+ Z% Z1 |* v* I. d
2.4. 按提交者日期排序
0 _0 B, J' Y. U% d+ f
2.5. 按更新日期排序
# }* Y$ w, A9 U9 l' B
3. 搜索范围
0 p" l/ t) s( [4 r
3.1. 搜索存储库
' s7 C K" ]) J
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
% |1 H+ q! @2 \2 s0 D' G6 C8 f
3.1.2. 在用户或组织的仓库中搜索
9 Q& l' m- {% d- x2 c* H: [! u
3.1.3. 按存储库大小搜索
# m0 w! P0 ^5 X0 r( ~' B- V$ E5 _
3.1.4. 按分叉数搜索
! _4 d: _- w6 e0 @
3.1.5. 按星数搜索
7 X6 h8 s8 O9 o# S; a# b
3.1.6. 按创建或上次更新存储库的时间搜索
3 a& T1 `" x% {5 r, J
3.1.7. 按语言搜索
/ Q9 l, A% ~" B% g. A
3.1.8. 按主题搜索
( J7 w' k3 l# U# a7 Y
3.1.9. 按主题数量搜索
X6 P" q" |3 ^# e
3.1.10. 按许可证搜索
* r' Y+ i* G1 |/ M2 Y& |
3.1.11. 按存储库可见性搜索
! M. q2 a9 U! A3 }; K! K6 G. i! ^% T- \
3.1.12. 根据仓库是否是镜像进行搜索
) f. I Z) C J: }
3.2. 搜索主题
, [+ T, ^! K; @& ]3 P# x: X' h0 A& H
3.2.1. 使用搜索限定符缩小搜索范围
: k4 h- v9 N+ Y6 @( X
3.3. 搜索代码
" f% f* t6 n: P, r" Y
3.3.1. 按文件内容或文件路径搜索
4 n1 w' ]9 s( `/ e( ^! h. ~' l
3.3.2. 在用户或组织的仓库中搜索
- j# ^( [/ F1 I: K6 m7 x
3.3.3. 按语言搜索
2 Y$ @. `8 M$ k" R3 f3 M' H
3.3.4. 按文件大小搜索
2 Z, z+ r/ I/ r
3.3.5. 按文件名搜索
6 x/ J e9 p* }9 m
3.4. 搜索用户
8 Q4 g- a7 W: O* a! ?- }
3.4.1. 按帐户名称、全名或公共电子邮件搜索
7 M* v" P0 k: ~: P( [3 q U7 @" J
3.4.2. 按用户拥有的仓库数量搜索
: c0 W3 O9 u% E \( W" m* Y
3.4.3. 按创建用户帐户的时间搜索
7 H% ?- T" |) v4 {7 U O2 I- V; I
3.4.4. 按关注者数量搜索
# t* V \5 C$ o! W' g; q: Q
1. 前言
# P% N$ w3 B! I+ c( A5 u, W z
GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
' R1 b6 g! z: m$ s9 |! m+ u
+ u$ N, s* |! S- `1 \4 @
2 B% O: ?/ T6 ~$ F$ q8 S! _7 b
本文参考自GitHub官方文档。
5 y- n% {1 ^* P. W U @& f
GitHub官方文档:https://docs.github.com/en
: ?; | B. G: [. ]6 N
6 z# v2 z S* i9 j. S$ m" v6 Y
+ _8 P4 A9 r! D* d
4 s" P" y) E* y7 M2 F8 v% i4 b' ?. S
$ ]# S9 @1 Q x
本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。
( m7 @5 P! t& a8 A- V- a
. }. l" j) A! ]
6 B" q0 R" g! r
2. 排序搜索结果
/ H1 i0 m& h/ }1 M) J& j. ^2 U
2.1. 按交互排序
3 X. m0 H% ~ W; U3 X+ e* K
语法 例子
& ?$ L, L. J# W3 J! [6 g7 E
org:github sort:interactions 匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
& G( n/ J0 D0 e& `% r: P
org:github sort:interactions-asc 匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
: |6 l' R5 d) y" e, G Y: _7 V
2.2. 按反应排序
, B% I+ ?4 p9 i6 ?
语法 例子
3 `( M: a9 a: a; c/ {( O0 a g6 Y
org:github sort:reactions 匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
+ r' Z8 F! c& Z I
org:github sort:reactions-asc 匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
5 d! w- N0 G) c/ Y; f* G# Y& V
org:github sort:reactions-+1 匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
9 e0 ^4 Y* m1 Z- V1 x8 s" ]- K
org:github sort:reactions- -1 匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
" y7 I+ G0 Y. A# C6 X, W# B8 @7 {* S
org:github sort:reactions-smile 匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
, v; ]3 ^) O) R9 P& L
org:github sort:reactions-tada 匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
, ^) X6 z9 W, }2 ]
org:github sort:reactions-heart 匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
; Y: S7 e. Q" |% N+ K7 o
2.3. 按作者日期排序
9 m6 h0 c$ g: _" Q- c
语法 例子
& C* s, `; b9 ?( h2 _
org:github sort:author-date feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
1 P! B5 ^' q. @9 _) R
org:github sort:author-date-asc feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
( p( O7 S0 t7 T; K. x e
2.4. 按提交者日期排序
# J a. d1 j! b
语法 例子
4 O- u# C( s6 d/ e X
org:github sort:committer-date 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
- F; h. P! L; f
org:github sort:committer-date-asc 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
# ~# ^; N! T: o- F8 L# M1 H3 e$ \
2.5. 按更新日期排序
: L0 Y) a* w Q# }% c" K
语法 例子
. E+ S- u& W* P7 g2 u; d
sort:updated feature 匹配包含“feature”一词的存储库,按最近更新日期排序
" A$ O% k1 W* u
sort:updated-asc feature 匹配包含单词“feature”的存储库,按最近更新日期排序
" `6 |7 u% H! F$ b: Q9 A
3. 搜索范围
9 a. Q( a( n& z" P; S! x
3.1. 搜索存储库
3 g$ W+ h0 T. G; S. Q
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
/ o) O! m; U/ I! X. d
语法 例子
5 \' i4 P0 b. O
in:name jquery 匹配存储库名称中带有“jquery”的存储库。
3 \9 p# k, Y/ \5 o* ?
in:description jquery 匹配存储库描述中带有“jquery”的存储库。
6 A5 b0 ~6 c8 R, e; L/ C/ ~; P
in:readme jquery 匹配存储库的 README 文件中提到“jquery”的存储库。
- T$ J1 y& G2 c: j9 H
3.1.2. 在用户或组织的仓库中搜索
4 [& q" w6 \. C4 [9 y s# n8 R4 G! y
语法 例子
) {! q) Z6 f$ j; R# k( h) T
user:defunkt forks:>100 匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
% ?& B. v9 T# \1 a$ A9 x+ [
3.1.3. 按存储库大小搜索
8 `0 M" T+ R- l7 U- o/ e/ \
语法 例子
1 ]* o" H6 L3 H5 o# S1 h! ?8 z
size:1000 匹配大小为 1 MB 的存储库
1 G% b( l7 X" o' e3 M4 K
size:>=30000 匹配至少 30 MB 的存储库
$ j/ G' o9 ~3 r9 K0 H' V
size:<50 匹配小于 50 KB 的存储库
0 ]5 w' S# x! F6 v3 i. H# n
size:50…120 匹配 50 KB 到 120 KB 之间的存储库
9 c6 X$ u4 F3 ] I" H6 G
3.1.4. 按分叉数搜索
) I4 t% c* D9 @
语法 例子
& h! k3 n/ c _* F6 H$ t
forks:5 匹配只有五个 fork 的存储库
/ J6 T. f a7 g/ h+ A8 n" z
forks:>=205 匹配至少有 205 个 fork 的仓库
$ ^7 N* j# P$ J6 y" b" ^: w+ Y
forks:<90 匹配具有少于 90 个 fork 的存储库
6 X; u, I: c' i; f
forks:10…20 匹配具有 10 到 20 个 fork 的存储库
k+ d( b3 I5 e8 n: ?
3.1.5. 按星数搜索
% O6 ]- o! ?1 |: x
语法 例子
" U5 q3 F: v) x/ Z5 d1 o
stars:500 匹配恰好有 500 颗星的存储库
& o- @+ T8 l7 W) X( C: P0 b
stars:10…20 匹配小于 1000 KB 的 10 到 20 星的存储库
9 g3 i9 T4 b+ G/ Q
stars:>=500 fork:true language:php 匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
: R; M4 f6 ~! `9 D
3.1.6. 按创建或上次更新存储库的时间搜索
% I0 ~. u2 E" q
语法 例子
, r2 A$ A! Y1 y- e
webos created:<2011-01-01 匹配 2011 年之前创建的带有“webos”一词的存储库
! J9 m1 a: ]2 Q) N
css push:>2013-02-01 匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
: m( w4 _' z1 q6 w
case push:>=2013-03-06 fork
nly 匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
* G. p" Y/ a: B8 l6 ]
3.1.7. 按语言搜索
3 U; g% ^4 j$ x& `! E$ V% C$ C M# M
语法 例子
1 K4 a" E+ J# G5 d3 @/ R7 x
rails language:javascript 匹配使用 JavaScript 编写的带有“rails”一词的存储库
* @4 P8 a2 @+ u# G9 [: e" e$ n
3.1.8. 按主题搜索
4 O! U6 t& w6 Z" e* n9 S, b+ ]" x
语法 例子
. E' W2 V5 E+ P
topic:jekyll 匹配已分类为主题“jekyll”的存储库
1 G4 o( X0 H. o# s& {$ Q
3.1.9. 按主题数量搜索
' C; E3 t# h) X9 x
语法 例子
: J( L1 K" a3 x2 X! ]9 N9 ]
topic:5 匹配具有五个主题的存储库
1 y# [3 L' n9 Z4 ?: B7 {
topic:> 3 匹配具有三个以上主题的存储库
% }9 K1 ^. D/ S4 J, O6 g
3.1.10. 按许可证搜索
0 i' V; z& d, ^- V# l& f' o0 j
语法 例子
c* X3 a6 q$ j ]
license:apache-2.0 匹配在 Apache License 2.0 下获得许可的存储库
9 Z- b8 D" `5 N3 b# [! Z6 r& N3 _' k
3.1.11. 按存储库可见性搜索
: s# @6 ^! C; Z& w. h* u
语法 例子
- I3 f5 ^$ D3 |% `
is:public org:github 匹配 GitHub 拥有的公共存储库
, e) F1 o+ R) P# t l' h c
is:internal test 匹配您可以访问并包含“test”一词的内部存储库
1 T% k# k2 b3 O, K: H/ I4 T9 \. W0 t9 Z
is:private pages 匹配您可以访问并包含“pages”一词的私有存储库
) z1 ~- w o) y4 ~* A
3.1.12. 根据仓库是否是镜像进行搜索
; Z, C" O0 O' M9 x$ J" E
语法 例子
^ e: q+ D) E
mirror:true GNOME 匹配作为镜像且包含单词“GNOME”的存储库
0 i6 Z# Y5 B7 H/ Z# q, n5 p! }
mirror:false GNOME 匹配非镜像且包含“GNOME”一词的存储库
& B0 ~7 H+ p/ i, O; ^# j3 q0 }8 p
3.2. 搜索主题
4 g. e6 |5 L6 Y- L2 n9 _
3.2.1. 使用搜索限定符缩小搜索范围
9 I' D& h W9 h. F# o/ v+ G
语法 例子
1 E A5 y ~5 [# }. `# ` E8 |
is:curated javascript 匹配经过策划并包含“javascript”一词的主题
' b( P% X5 J/ _5 ^/ ^7 Z0 y
is:featured javascript 匹配https://github.com/topics/上的特色主题并包含“javascript”一词
5 ]' i- V1 u$ D7 O$ Y
is:not-curated javascript 匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
3 E* x/ C: u2 ^/ J# i- k+ ]
is:not-featured javascript 匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
# c6 g6 K9 O% L- F+ D
repositories:>5000 匹配具有超过 5000 个存储库的主题
* d+ m+ T% l" r' K2 `9 _
3.3. 搜索代码
; `. z6 a; [+ |! o
序号 代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
$ I2 U: B5 y! Q+ M
1 必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
) d: s2 ~+ p, k- K
2 只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加fork
nly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
2 ]& U% U8 g3 v* R: ^5 |
3 仅对默认分支进行索引以进行代码搜索
1 ~0 o! Z. }" f, q2 ]
4 只能搜索小于 384 KB 的文。
; D- Z8 @* s( C& J
5 只能搜索少于 500,000 个文件的存储库
- _; Z1 R9 m5 ^
6 只有在去年有活动或在搜索结果中返回的存储库才可搜索
4 j. k' E. f) U2 S
7 除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
/ j- P! m* s0 V) y- W
8 搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
$ b9 `9 }5 A1 {" F) U! A* ?4 H3 q7 P" |
9 您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
4 _' G2 s9 r8 h& P; I
3.3.1. 按文件内容或文件路径搜索
: S* N" p8 V h: E d0 q
语法 例子
! z' d9 b4 P; T8 }% j& L
octocat in:file 匹配文件内容中出现“octocat”的代码
% m( W, ]0 r$ `6 a$ a g' c
octocat in:path 匹配文件路径中出现“octocat”的代码
# A: g! P x) M3 f6 l7 d; d
3.3.2. 在用户或组织的仓库中搜索
" A! m& p$ z3 ?; o( C2 Z+ g$ f
语法 例子
' U$ _/ T& D* i7 }# L
user:defunkt extension:rb 匹配来自@defunkt 的以.rb结尾的代码
- I1 a* X2 E) y/ g
org:github extension:js 匹配来自 GitHub 的以.js结尾的代码
& @" ^/ h& H. [+ D. n* N2 [
repo:mozilla/shumway extension:as 匹配@mozilla 的 shumway 项目中以.as结尾的代码
9 w+ N7 [8 i5 w3 ^8 b$ }
3.3.3. 按语言搜索
( K- {; j+ |4 t3 }! Z) @! @
语法 例子
( W. Y5 M; h. H0 _: i
element language:xml size:100 匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
6 H. a+ g+ S. u7 L9 Z
display language:scss 匹配带有单词“display”的代码,它被标记为 SCSS
6 e4 q1 F$ l9 t! A. W
org:mozilla language:markdown 匹配所有@mozilla 存储库中标记为 Markdown 的代码
6 F0 i6 @# B9 b0 m, \) k- x+ w# D
3.3.4. 按文件大小搜索
) J- m9 b! I; q% E: \. k, U
语法 例子
0 z6 [8 b2 m0 B$ O8 Z
function size:>10000 language:python 匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
: C# ?6 C5 u8 i: a3 N! l8 T
3.3.5. 按文件名搜索
* ]5 ~- n) g: P; W1 Z) E
语法 例子
4 E4 m/ I, \' Z) [" f! C/ ^
filename:linguist 匹配名为“linguist”的文件
* I/ q$ p k6 R5 s) M* X }% Z) Z5 W
filename:.vimrc commands 匹配带有 “commands” 一词的.vimrc文件。
) x- ^6 V& Q! g8 @
3.4. 搜索用户
! p5 W6 Y: g$ }4 X) Y
3.4.1. 按帐户名称、全名或公共电子邮件搜索
9 `5 ]7 d+ s; l9 R9 R% ?7 z
语法 例子
0 x$ Q. V* Q" f+ r1 |7 c' V
user
ctocat 匹配用户名为“octocat”的用户
: ^+ m8 U# x" L" _1 K+ j# B8 d
org:electron type:users 匹配 Electron 组织的账户名
% w$ @; l7 P) N" d1 ]2 N2 O
kenya in:login 匹配用户名中包含“kenya”一词的用户
M4 A3 S3 r: Q# q
bolton in:name 匹配真实姓名中包含单词“bolton”的用户
0 g# W& W% b/ L! A2 e
fullname:Nat Friedman 匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
0 Y$ J) v, z' B8 x$ i
data in:email 将用户与电子邮件中的“data”一词匹配起来
* _) g7 c, P" M! W
3.4.2. 按用户拥有的仓库数量搜索
2 ~( t" X2 m! Q/ d* e3 j( {) D5 @
语法 例子
8 [/ P0 e6 w/ E$ c+ y5 n
repos:>9000 匹配存储库数量超过 9,000 的用户
$ W& X# u: f" G" f) K
bert repos:10…30 匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
# ]9 m ~+ A+ b" X. U
3.4.3. 按创建用户帐户的时间搜索
8 [* O, p) P5 @
语法 例子
% N6 o0 a9 A& T6 i& b' `8 ^4 p6 K2 B! I% Z
created:<2011-01-01 匹配 2011 年之前加入的用户
9 W/ Q$ e3 J3 F0 t4 A
created:>=2013-05-11 匹配在 2013 年 5 月 11 日或之后加入的用户
5 G% H- x5 ~4 d" D
created:2013-03-06 location:london 匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
, L3 h* W% }' S! k" {- Y6 C1 R
created:2010-01-01…2011-01-01 john in:login 匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
, v0 y! z. j" V0 R) j0 ?
3.4.4. 按关注者数量搜索
0 S( I o3 @7 B7 R. S h; y
语法 例子
! ^( K; v5 [# u2 s* X+ a
followers:>=1000 匹配拥有 1,000 或更多关注者的用户
: B, @ `7 z) @4 t. U4 C7 K
sparkle follower:1…10 匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
, }* h8 u4 d+ U/ s( A
————————————————
5 R* S0 n3 O7 x! I9 }$ x$ m% E
版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
$ d# r u# Y+ R& x$ ^
原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
) o) r2 m* C& A
5 V t+ ]$ r! f
* D5 W# b; Q) g6 j% W( i+ q2 H
作者:
1051373629
时间:
2021-8-15 17:52
谢谢了! 谢谢了!
2 ]4 T- x, K5 s5 x7 F. o# u. F
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5