数学建模社区-数学中国

标题: 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 Y2.1. 按交互排序
8 P' ~: Q, h5 k2.2. 按反应排序; y  C- V! u/ l( X: x
2.3. 按作者日期排序6 o1 I6 k, M' W7 |
2.4. 按提交者日期排序
/ _/ B; |' R, ]9 m2.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 g3.1.2. 在用户或组织的仓库中搜索
+ T/ m' Q5 K- g3.1.3. 按存储库大小搜索
3 P! P. s: V! B! P* d7 K3.1.4. 按分叉数搜索
7 T& V# K# `% ?3 o& h9 T3.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/ `$ K3.1.9. 按主题数量搜索
- D* b$ Z+ G3 p5 L# x* }" I3.1.10. 按许可证搜索
, A+ ^7 d: v2 w1 B! l4 X3.1.11. 按存储库可见性搜索
. q  Q! _% q2 S7 p3.1.12. 根据仓库是否是镜像进行搜索
/ D7 x5 @. p2 [& |3.2. 搜索主题
. [* L4 E* q8 V8 o* `% Y' q) g3.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 n3.3.3. 按语言搜索
( ?0 ]* L9 R" B: ?( V3.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 L3.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 morg:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
' h4 i4 ?% [0 O0 t4 O2 Y* aorg: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) Korg: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. Yorg:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
& ?- B# @. K- S* worg: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& Torg:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序& g9 B& j) s; |: s
2.3. 按作者日期排序9 n% ~7 ~* Z7 [3 e
语法        例子
. y; \0 |1 {' U8 r* ]% C1 Aorg: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 ^( [% c3.1.1. 按存储库名称、描述或 README 文件的内容搜索
3 w$ k" h; o, T6 u+ x语法        例子
0 J0 p1 Q- K- B4 z  K( q- b1 Y: Bin:name jquery        匹配存储库名称中带有“jquery”的存储库。
) w7 h' P+ ~4 i" }' ^: Rin:description jquery        匹配存储库描述中带有“jquery”的存储库。
1 g5 e5 O( C/ v! m$ X0 |8 f9 W0 pin: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 {/ {+ Zuser:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
5 Q; y% ~' l! c# i3.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- Xsize:<50        匹配小于 50 KB 的存储库
" f2 Y+ |: T1 o0 ssize: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 Uforks: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 Vforks: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 {$ ystars:500        匹配恰好有 500 颗星的存储库* Q9 x" r) v5 T) n' X
stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库
+ B$ d# q$ D$ dstars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
% [7 j9 _, `: g+ {* M3.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 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
( \  D9 i7 F& a2 v/ k2 X3.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 B3.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 sis: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 lmirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库
6 i/ k. E" v/ [& i0 Q  t6 G: l3.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' Yis:curated javascript        匹配经过策划并包含“javascript”一词的主题
* S& U, T% r) K' Qis: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 ~/ xrepositories:>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 ?, A1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
# B1 o. C8 T6 j2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
$ M: [" Z0 q" v5 @* Z. _3        仅对默认分支进行索引以进行代码搜索
# n; {' `$ h% W) Z7 m2 X6 v4        只能搜索小于 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$ s7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
* a" L: a' _6 t! m$ V* h8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果4 \& _' _2 @+ m
9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
0 w9 m* ^4 W) s- T- y% U4 l  T" A9 U3.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+ Helement language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
! R1 U# F3 W% Z+ C! p* r8 Ndisplay language:scss        匹配带有单词“display”的代码,它被标记为 SCSS! [" y, k7 l# a/ t' O
org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码
7 N0 i0 |* ?% X3 k3.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 F3.3.5. 按文件名搜索$ l7 h2 Y* k3 _' s- |# z
语法        例子
. N  t% a1 P+ k! B3 f1 ^5 afilename:linguist        匹配名为“linguist”的文件
( |- N, y% Q* [# r5 Bfilename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
' u6 Q( ^1 ~. P3.4. 搜索用户# [% c( b/ a/ C
3.4.1. 按帐户名称、全名或公共电子邮件搜索# A: |- Z9 H6 \" P6 W1 ^
语法        例子
* ?6 o2 I: f9 t, cuserctocat        匹配用户名为“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; Hbolton 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% d3.4.2. 按用户拥有的仓库数量搜索
7 |% x# m' E  x% a; j+ j8 K语法        例子
  h# O% }! w0 K0 a% urepos:>9000        匹配存储库数量超过 9,000 的用户) o  l* v) m" |! W% H% V
bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
% o" `" ?# H0 i3.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& gcreated:>=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/ xcreated:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
/ V! g9 O" X! y# V, i/ n3.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 e1 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