数学建模社区-数学中国
标题:
73个GitHub高级搜索技巧
[打印本页]
作者:
杨利霞
时间:
2021-7-8 14:57
标题:
73个GitHub高级搜索技巧
- k: ^6 k f" S( A
73个GitHub高级搜索技巧
5 g) o, L0 Y6 _! E
73个GitHub高级搜索技巧
1 K/ s8 v0 g! H, Z( b
1. 前言
' y4 |/ i: j& R( f2 e% b
2. 排序搜索结果
~$ I/ [9 {* d) a0 w* o
2.1. 按交互排序
4 X e5 @% M X
2.2. 按反应排序
) _; y2 O! I4 z4 `4 y
2.3. 按作者日期排序
& s+ H; m1 t) f7 U
2.4. 按提交者日期排序
# K. ]: s0 w6 o z8 T; c
2.5. 按更新日期排序
; r) | ~: r1 L, Y6 P2 t
3. 搜索范围
# y9 x9 r% m; I# K) b o
3.1. 搜索存储库
% k, Z- G1 @) T7 Y6 S
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
# Q, W9 b+ y1 D! {/ j
3.1.2. 在用户或组织的仓库中搜索
5 U. H* y" S" e/ Y5 T9 k
3.1.3. 按存储库大小搜索
6 D1 H, X" y( s9 v. @" t
3.1.4. 按分叉数搜索
' J& d5 I% L* c. [$ g
3.1.5. 按星数搜索
. C% }' _) Z- A+ O
3.1.6. 按创建或上次更新存储库的时间搜索
% e& N: I' X/ r4 E) x
3.1.7. 按语言搜索
& T- Y1 }! W3 z! f9 U/ h
3.1.8. 按主题搜索
3 i) F2 {/ c. e, }) B7 y
3.1.9. 按主题数量搜索
2 z- b `7 Q+ j% u$ k- ]
3.1.10. 按许可证搜索
# G' R. V4 `4 b$ T
3.1.11. 按存储库可见性搜索
3 k& s7 G& K8 D7 c
3.1.12. 根据仓库是否是镜像进行搜索
! a! k( P) J& b: M0 H$ w6 j
3.2. 搜索主题
( e; K4 v5 }% Y& B3 J! u! ~
3.2.1. 使用搜索限定符缩小搜索范围
; a* E R, E, N% S& r
3.3. 搜索代码
3 t& ?! q# V7 |$ X
3.3.1. 按文件内容或文件路径搜索
$ Y3 x& @8 j, y/ ^
3.3.2. 在用户或组织的仓库中搜索
5 e( }+ N4 E+ T2 A" G
3.3.3. 按语言搜索
) b/ A$ ^9 u! \ H. u
3.3.4. 按文件大小搜索
! M* S- I p* H' q0 y, k- m* N
3.3.5. 按文件名搜索
% J; f/ O2 ~$ C1 H8 ~
3.4. 搜索用户
$ o0 _3 j+ @5 x! t8 F
3.4.1. 按帐户名称、全名或公共电子邮件搜索
2 F, P) s3 r* z- O5 a1 x
3.4.2. 按用户拥有的仓库数量搜索
y C L+ y3 N
3.4.3. 按创建用户帐户的时间搜索
- h- V$ s. r, A) Q7 r h
3.4.4. 按关注者数量搜索
4 Y5 K, w# L, R2 a2 B: ?& c! e
1. 前言
8 q( f9 n4 t7 W. Y" H. a+ O8 }
GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
4 `! f8 V3 V) }3 `/ _" x* P
& G+ }; S( Y; h, H/ N2 m
4 S2 d* W; P5 u( w0 o- i
本文参考自GitHub官方文档。
) m4 Q! J% H" T) f
GitHub官方文档:https://docs.github.com/en
; I4 j4 |- n# B
% {/ N( m+ x2 _0 d1 A7 F) D* L- \
. d; e. k& Z. F* q3 r
" u( S! o u2 M7 l: U# L; e
. l4 u3 a9 q/ L2 |& R
本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。
7 T+ p+ |6 ~# \* J: O1 w0 j
0 y3 G3 o+ h8 K6 \9 m8 V5 A
2 i; d7 ~0 ^& k* \" F
2. 排序搜索结果
/ |$ ]/ Y/ ~4 P9 A- t
2.1. 按交互排序
( W2 ]1 c! Y; E! A& m0 c" F
语法 例子
; A3 ~$ z5 U2 i# |4 [
org:github sort:interactions 匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
9 W. P7 h3 `7 o$ a& i' e- E
org:github sort:interactions-asc 匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
' g) a1 p( k3 F2 r
2.2. 按反应排序
. L/ ^5 b$ q( e% X% _$ X0 X v
语法 例子
2 p8 i" M5 {* m
org:github sort:reactions 匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
( K4 J& e* m& x1 q( D
org:github sort:reactions-asc 匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
5 K3 I3 K6 }! Y7 z6 {
org:github sort:reactions-+1 匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
& P8 K3 |! ~! M4 T
org:github sort:reactions- -1 匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
, {; W5 T$ k0 J( w" n2 T
org:github sort:reactions-smile 匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
3 ?6 Z7 t) r+ k2 k3 J; \' v' u
org:github sort:reactions-tada 匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
9 \0 A* G, c7 W; c* L% I
org:github sort:reactions-heart 匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
. S# W% r9 B7 Q
2.3. 按作者日期排序
, p- j$ L( w; ]5 C
语法 例子
+ d. w7 G5 O g9 m3 H' i
org:github sort:author-date feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
* Y/ _+ s9 q. w# Q9 g6 T, g5 G/ M
org:github sort:author-date-asc feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
2 `2 e, M/ B: n* q
2.4. 按提交者日期排序
& L5 {) ~& S/ U
语法 例子
" K- G5 [6 y: ?% S( i
org:github sort:committer-date 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
2 a/ O0 h: W; f. G. Q7 k& g+ [
org:github sort:committer-date-asc 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
( f8 j1 V: m) p% Z
2.5. 按更新日期排序
9 B# N, W. m5 q
语法 例子
/ t/ b, j+ B. }8 Q& H- h$ ?/ r1 y2 v
sort:updated feature 匹配包含“feature”一词的存储库,按最近更新日期排序
8 f6 e/ w M& r/ W, i9 ]1 R
sort:updated-asc feature 匹配包含单词“feature”的存储库,按最近更新日期排序
& l4 R2 X4 U+ {; L
3. 搜索范围
6 c( [9 n o9 S& A
3.1. 搜索存储库
$ L; c7 N V+ B2 C3 L) k2 |# r
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
) w9 g) L; j! r
语法 例子
9 [- i8 G9 i- `& \
in:name jquery 匹配存储库名称中带有“jquery”的存储库。
" U6 b4 E p7 O& A" X
in:description jquery 匹配存储库描述中带有“jquery”的存储库。
& h1 V1 H: [) s0 L# v: e
in:readme jquery 匹配存储库的 README 文件中提到“jquery”的存储库。
$ \8 J# c( W5 A' Y
3.1.2. 在用户或组织的仓库中搜索
$ Q" c: i/ W' F; b7 L
语法 例子
* q' b6 E8 z4 ^
user:defunkt forks:>100 匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
, X) Z- I' ?, f# T0 ~( K; @+ F
3.1.3. 按存储库大小搜索
$ ?' Y5 {3 K4 M# m# e; M$ {
语法 例子
8 p! u e8 @7 t$ w7 h9 b$ G
size:1000 匹配大小为 1 MB 的存储库
/ Y0 l# `+ F& y/ {) g Q
size:>=30000 匹配至少 30 MB 的存储库
2 O, u. l' }% s7 T7 g/ ^; q
size:<50 匹配小于 50 KB 的存储库
0 `4 T9 D$ o+ p8 N. d
size:50…120 匹配 50 KB 到 120 KB 之间的存储库
- [7 ] s3 c6 _) _4 H, k: J0 i3 a
3.1.4. 按分叉数搜索
$ V( |( |. e1 }( b* M1 S
语法 例子
* v1 d. }4 u! n$ h( W
forks:5 匹配只有五个 fork 的存储库
! q; V& n% n0 e- C
forks:>=205 匹配至少有 205 个 fork 的仓库
% n% \! n8 p9 P* C# r& }5 K' g
forks:<90 匹配具有少于 90 个 fork 的存储库
( K* Y* t' x; u3 W8 @' Q! I
forks:10…20 匹配具有 10 到 20 个 fork 的存储库
6 t* k2 h. v( o- a# |7 U3 t1 u1 z
3.1.5. 按星数搜索
% z' J7 D; @4 b+ v7 y! K
语法 例子
8 j. x- s S7 f! G9 w( e6 a% L
stars:500 匹配恰好有 500 颗星的存储库
1 h0 p' K, T R
stars:10…20 匹配小于 1000 KB 的 10 到 20 星的存储库
) t9 k6 Z- I2 @7 G$ m k
stars:>=500 fork:true language:php 匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
; f- u0 A/ Q$ F( J1 L
3.1.6. 按创建或上次更新存储库的时间搜索
8 ^: `# }( T p% l
语法 例子
$ t2 f$ @- Q$ M( M/ I( U
webos created:<2011-01-01 匹配 2011 年之前创建的带有“webos”一词的存储库
& f; z" w1 q9 |
css push:>2013-02-01 匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
$ a6 V; u+ G0 q& a
case push:>=2013-03-06 fork
nly 匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
+ \$ r$ l r% d. O6 d
3.1.7. 按语言搜索
$ }, [' a7 N5 T1 B
语法 例子
) t8 Z" H9 L& l( n8 L% ^. U! d
rails language:javascript 匹配使用 JavaScript 编写的带有“rails”一词的存储库
5 \& k; ]9 b! S7 Q) [0 e* A0 g( _9 X
3.1.8. 按主题搜索
/ ^) v7 C7 @, l: r: Z! j2 V4 l
语法 例子
1 l0 [1 i$ n4 d
topic:jekyll 匹配已分类为主题“jekyll”的存储库
. m8 P/ Q( \4 ?
3.1.9. 按主题数量搜索
. e" j9 x! f! B) v# w" \
语法 例子
" b, i. m, q, W4 W/ I; b' a, J0 s
topic:5 匹配具有五个主题的存储库
* q3 c: x+ J* p
topic:> 3 匹配具有三个以上主题的存储库
+ x9 v$ C c4 H0 _9 P
3.1.10. 按许可证搜索
" C, l+ E/ Z4 p% m# t& Y# E% |& O
语法 例子
8 }/ i3 s) ]2 t# j7 Y
license:apache-2.0 匹配在 Apache License 2.0 下获得许可的存储库
0 b6 I" z' q' B2 z4 x4 l' {
3.1.11. 按存储库可见性搜索
& p1 {) z l3 O4 s) v
语法 例子
* F- g6 g* x' m) o0 {
is:public org:github 匹配 GitHub 拥有的公共存储库
l9 s( W) }& J
is:internal test 匹配您可以访问并包含“test”一词的内部存储库
) H& y1 G0 h( [
is:private pages 匹配您可以访问并包含“pages”一词的私有存储库
& c7 Q$ V/ G7 \. ]$ ]
3.1.12. 根据仓库是否是镜像进行搜索
3 d# B J6 V2 A0 @
语法 例子
7 K; F L2 ^- _2 R% g
mirror:true GNOME 匹配作为镜像且包含单词“GNOME”的存储库
$ O( @; u9 e6 s, S" a2 j8 M
mirror:false GNOME 匹配非镜像且包含“GNOME”一词的存储库
) h8 D6 k; y; k3 ]0 V1 J7 ~6 N. W. {
3.2. 搜索主题
( z! V6 ]6 o7 Z3 s
3.2.1. 使用搜索限定符缩小搜索范围
6 O& |. f- f- `( `
语法 例子
4 J0 W, H* l" S- E+ n
is:curated javascript 匹配经过策划并包含“javascript”一词的主题
1 }1 p# N, r2 ?4 |# {5 K, t
is:featured javascript 匹配https://github.com/topics/上的特色主题并包含“javascript”一词
( B' _+ N1 K+ v+ ]/ }; g
is:not-curated javascript 匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
* @! {! }' }8 G4 f4 {7 a/ G4 B
is:not-featured javascript 匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
+ ]& ?' k' L W! d9 @
repositories:>5000 匹配具有超过 5000 个存储库的主题
. q2 F9 T8 X' u' \, E9 `+ O
3.3. 搜索代码
% a z; c9 [3 F
序号 代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
' L, K% z- Z7 S7 E1 e0 x- f
1 必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
) A/ g. d, [: z- X8 [" \. W; N
2 只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加fork
nly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
$ t- K: d% C2 I8 m* V
3 仅对默认分支进行索引以进行代码搜索
# ]9 n4 b4 g# X1 [/ ?8 j4 w- ^
4 只能搜索小于 384 KB 的文。
2 F1 ]# { \7 Q3 }: w
5 只能搜索少于 500,000 个文件的存储库
# g. e0 \! o. @" g6 C
6 只有在去年有活动或在搜索结果中返回的存储库才可搜索
" t2 f. Q8 |" v# Y3 B, A# g$ R
7 除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
- p( r6 ^# B6 v6 F
8 搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
0 o/ L5 E$ A1 X7 X/ P
9 您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
) C+ k% _4 I$ D) u0 L
3.3.1. 按文件内容或文件路径搜索
2 O R5 {+ O# L4 @& I* j3 ?
语法 例子
5 ?1 m- G$ h* B1 f3 {. ?! w
octocat in:file 匹配文件内容中出现“octocat”的代码
2 l6 |3 j. T/ `7 n/ b9 \ s% M
octocat in:path 匹配文件路径中出现“octocat”的代码
. l" R* M) n5 G. r3 l5 w
3.3.2. 在用户或组织的仓库中搜索
/ K2 z) N' J+ {/ q
语法 例子
& e. y: ]) t/ ~4 Z( z4 W" u
user:defunkt extension:rb 匹配来自@defunkt 的以.rb结尾的代码
; B5 ~8 S ^( ?
org:github extension:js 匹配来自 GitHub 的以.js结尾的代码
1 Z& n4 ]1 R, l5 L
repo:mozilla/shumway extension:as 匹配@mozilla 的 shumway 项目中以.as结尾的代码
2 E+ Z; q- }( v# o
3.3.3. 按语言搜索
& c8 @# P% Q1 x) L
语法 例子
" r! L6 O( v4 ~" k0 g
element language:xml size:100 匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
; e5 v# I( e' N4 X o
display language:scss 匹配带有单词“display”的代码,它被标记为 SCSS
# m/ X' f2 Y f
org:mozilla language:markdown 匹配所有@mozilla 存储库中标记为 Markdown 的代码
5 x9 ?. u' T5 U; E
3.3.4. 按文件大小搜索
) H3 _9 \9 |5 K* R( p
语法 例子
+ s2 |( [" T$ J1 B0 ~
function size:>10000 language:python 匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
9 m+ Q" h* K8 o; x9 N1 V9 w
3.3.5. 按文件名搜索
( C2 |7 \" s0 q2 B t8 l! h# X
语法 例子
9 z: ~* N$ d' J7 _
filename:linguist 匹配名为“linguist”的文件
+ t' h* `8 G o) U- P+ }
filename:.vimrc commands 匹配带有 “commands” 一词的.vimrc文件。
, ?" G+ u n. f
3.4. 搜索用户
+ a- ^6 i0 ], U7 B4 s8 @1 {6 f
3.4.1. 按帐户名称、全名或公共电子邮件搜索
. Q& _- O& Y u9 r ]: l
语法 例子
, e' q0 ~2 e$ i
user
ctocat 匹配用户名为“octocat”的用户
7 ?) p3 a4 u" z8 Y
org:electron type:users 匹配 Electron 组织的账户名
$ O8 u5 i2 v, R9 M
kenya in:login 匹配用户名中包含“kenya”一词的用户
& T* O' ]5 v* Q" P" W1 k
bolton in:name 匹配真实姓名中包含单词“bolton”的用户
: k! x& O/ W: l# |! z: ]* w% e
fullname:Nat Friedman 匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
7 t8 G4 h( T3 F
data in:email 将用户与电子邮件中的“data”一词匹配起来
) ~, @$ I1 x, v. e1 n- l
3.4.2. 按用户拥有的仓库数量搜索
& c H7 D' c+ h3 Q
语法 例子
C. A7 k* [# k# D
repos:>9000 匹配存储库数量超过 9,000 的用户
9 H4 ~2 M, [+ l! ^
bert repos:10…30 匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
- q* G5 I3 v9 a9 o8 T
3.4.3. 按创建用户帐户的时间搜索
! \* r6 s1 J% ]! B; \
语法 例子
' J" m- d$ f$ v6 v" h6 c: f0 b" k# }
created:<2011-01-01 匹配 2011 年之前加入的用户
0 W6 p, C; d& K) O& F6 I2 T
created:>=2013-05-11 匹配在 2013 年 5 月 11 日或之后加入的用户
, B% @4 H, \/ {7 \
created:2013-03-06 location:london 匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
) [* D% }$ ~/ p- x
created:2010-01-01…2011-01-01 john in:login 匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
! N8 b( f9 W4 O( q
3.4.4. 按关注者数量搜索
/ Y+ _* G# e) e- u
语法 例子
7 a, N& A4 }! L4 D. q5 ~4 h
followers:>=1000 匹配拥有 1,000 或更多关注者的用户
" h% ^8 M; c2 {
sparkle follower:1…10 匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
9 c+ G3 N( S* w/ m% J! {' B
————————————————
- g9 G$ @# s! D3 S- a
版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
5 b0 `* b& l% F! g" M
原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
- P' ^7 x& `7 r5 `
+ ^1 k- N7 D/ @2 m
/ L* y1 w. F1 u+ c! _* U
作者:
1051373629
时间:
2021-8-15 17:52
谢谢了! 谢谢了!
0 T; d% L9 q2 K7 N- _: c2 V
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5