数学建模社区-数学中国
标题:
73个GitHub高级搜索技巧
[打印本页]
作者:
杨利霞
时间:
2021-7-8 14:57
标题:
73个GitHub高级搜索技巧
+ @, O. G: |5 G& K X9 k" q1 L' K' E
73个GitHub高级搜索技巧
* X1 r4 F0 v- G- w1 [
73个GitHub高级搜索技巧
1 c9 z( c. W9 H4 G& I
1. 前言
1 Z% ` K6 W+ D. A2 x& l3 t
2. 排序搜索结果
. f* ?4 Q0 ]: L
2.1. 按交互排序
N+ k! b, z; e$ k+ [
2.2. 按反应排序
- ^2 {) n; i j0 z+ s, ?
2.3. 按作者日期排序
, B2 R0 P6 H9 v& f
2.4. 按提交者日期排序
/ T; H/ L( u+ u7 ]
2.5. 按更新日期排序
% @6 n: g2 h( C& U: @: [- H
3. 搜索范围
' ], A' P- f/ T$ m8 |/ i
3.1. 搜索存储库
- b' j8 |$ C/ p9 x) P3 C% x& h, h
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
C& |5 b$ ^# z$ U o' P$ A1 H2 C
3.1.2. 在用户或组织的仓库中搜索
8 t$ Y6 }8 R3 f C5 k' x
3.1.3. 按存储库大小搜索
1 {& A8 q0 P/ h6 e- B& n' L) |7 g
3.1.4. 按分叉数搜索
' M7 `2 {3 c4 D. B7 K
3.1.5. 按星数搜索
1 t$ B+ [) g# d
3.1.6. 按创建或上次更新存储库的时间搜索
# K. \( F- U/ T; ?# j0 p9 f
3.1.7. 按语言搜索
9 V6 T' q2 }7 t V, }1 e
3.1.8. 按主题搜索
5 K: |5 [0 ^% V# m
3.1.9. 按主题数量搜索
8 z$ \$ Z- H0 Y& g% \
3.1.10. 按许可证搜索
9 G$ E; { [5 {/ O9 A
3.1.11. 按存储库可见性搜索
9 i* A/ i0 s. o: K: P
3.1.12. 根据仓库是否是镜像进行搜索
" Q$ L- x5 _# ?3 A* I; q
3.2. 搜索主题
V& Q6 ?% l U
3.2.1. 使用搜索限定符缩小搜索范围
$ Z" `# ^/ K3 }2 K8 i; T0 o
3.3. 搜索代码
1 W, [. S. u4 {$ M+ Y
3.3.1. 按文件内容或文件路径搜索
) o. n1 @, S. R. P
3.3.2. 在用户或组织的仓库中搜索
2 i4 M+ u/ p) L" u1 p2 ^
3.3.3. 按语言搜索
5 p0 ]* d& i" Y( {
3.3.4. 按文件大小搜索
# e9 {4 y$ v1 x! A' A$ R- e- C5 l
3.3.5. 按文件名搜索
8 w) e9 R& N: [
3.4. 搜索用户
" q" g/ q7 T# L" D [4 T, A
3.4.1. 按帐户名称、全名或公共电子邮件搜索
: v+ x% j- j% H
3.4.2. 按用户拥有的仓库数量搜索
# _* G8 X; R: J& w+ X: a
3.4.3. 按创建用户帐户的时间搜索
, j6 C9 ~ G0 d) T; j; ]$ J
3.4.4. 按关注者数量搜索
. f6 b* l6 b, \+ p8 I) g- m
1. 前言
5 Y/ E5 Q5 [& _
GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
8 G4 R! k8 u+ E
( ] s \- R: }6 w
# g1 c' a8 m4 f7 P2 p, f
本文参考自GitHub官方文档。
8 V# D$ ?) S+ R* o) r1 H2 O
GitHub官方文档:https://docs.github.com/en
8 { y* `, d' J9 k. ~# x, f4 c
7 a0 d; d1 R0 V" b9 A
$ f' d9 a4 e n# A! p5 x% g0 v
2 F; ~, q, R# W
" j" y: e: N% G# j# j, m
本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。
/ m, p. T; Z) d9 {8 {* W
) \- A: n4 D( S, a
) _6 _$ j' A6 m) M# b1 J$ y" E
2. 排序搜索结果
1 J" Y1 @; R% E' O. L0 [& A) C
2.1. 按交互排序
5 H( b- z% ~ w/ l6 K J
语法 例子
! k! ]% u" }" ]0 i' ?' E5 }. K' r( R
org:github sort:interactions 匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
, e/ b! ~3 `1 Q% H4 L( }
org:github sort:interactions-asc 匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
% U; q+ c, L$ Q* d, e
2.2. 按反应排序
; \5 H6 r% ]) v( ?
语法 例子
) q. I( ]# r* Q: o# U6 X1 |
org:github sort:reactions 匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
( R, L" q# z2 z# {3 {# y8 U
org:github sort:reactions-asc 匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
( C7 H- l( H3 H. Z& S
org:github sort:reactions-+1 匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
% t- b$ S! \9 d" F9 {; m5 k
org:github sort:reactions- -1 匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
) d; `4 Z, c) C, Q/ `
org:github sort:reactions-smile 匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
0 w( r4 C) `6 q/ V' G- x+ X# z
org:github sort:reactions-tada 匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
; @- o- U4 J- s8 L+ W" A4 b( w& G0 w
org:github sort:reactions-heart 匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
3 d8 Q9 ~7 j; X5 L) I5 ]7 ^
2.3. 按作者日期排序
* z& j8 h. W9 C" S P* e' T
语法 例子
( K" h4 g$ [/ X" n+ [8 @
org:github sort:author-date feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
9 j$ {0 }9 T; G* a- I5 [
org:github sort:author-date-asc feature 匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
- A- K# F/ R- N3 _" }: M
2.4. 按提交者日期排序
+ D, D2 Y: V/ G8 |5 J
语法 例子
( L' z m3 K1 r9 P: O p) ^# Y' B! k
org:github sort:committer-date 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
" W7 X! A" x5 f4 ^: M
org:github sort:committer-date-asc 匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
* b" N9 Q: X X- G& z
2.5. 按更新日期排序
5 d9 P9 T" ^: G: {+ c( D- c
语法 例子
5 W' m" X l5 O6 S, v
sort:updated feature 匹配包含“feature”一词的存储库,按最近更新日期排序
) C, M+ v/ _8 O( L
sort:updated-asc feature 匹配包含单词“feature”的存储库,按最近更新日期排序
' H- x1 u+ O3 J( c9 z+ Q/ f/ P
3. 搜索范围
; P$ n$ k; ]6 _/ _
3.1. 搜索存储库
0 H$ B5 q. {, R/ A/ u/ W
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
6 c) V" u. {4 W* f/ z
语法 例子
6 q. s/ f# z8 k n! W* h9 b' r
in:name jquery 匹配存储库名称中带有“jquery”的存储库。
- r2 l& F0 B0 `9 d9 d0 B) i8 g8 o9 U
in:description jquery 匹配存储库描述中带有“jquery”的存储库。
. F0 J, g6 |/ s9 I0 O; d
in:readme jquery 匹配存储库的 README 文件中提到“jquery”的存储库。
% P; r4 w1 J; c) h, F( M
3.1.2. 在用户或组织的仓库中搜索
) y7 h! T U" s: S/ S Q
语法 例子
2 B; v+ B; J+ H4 l$ ?% S
user:defunkt forks:>100 匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
' |- q. C' n/ l/ h
3.1.3. 按存储库大小搜索
* r9 _ G0 d' h, I) X
语法 例子
8 t, a+ S2 w* W0 O, o Q
size:1000 匹配大小为 1 MB 的存储库
& z/ V' o) q+ D/ G
size:>=30000 匹配至少 30 MB 的存储库
. _. m/ \4 K1 n( ] D/ m" |
size:<50 匹配小于 50 KB 的存储库
& |$ V- U" B% @' k, Y
size:50…120 匹配 50 KB 到 120 KB 之间的存储库
9 U# s9 r4 Z" m4 x& i
3.1.4. 按分叉数搜索
" a; E. \8 d0 K! u. b8 K3 g
语法 例子
: s. z! a o3 E. g4 q, s7 e
forks:5 匹配只有五个 fork 的存储库
/ Y0 ~' H" [7 l3 Q
forks:>=205 匹配至少有 205 个 fork 的仓库
( o1 d) g! @4 w, f
forks:<90 匹配具有少于 90 个 fork 的存储库
0 N1 R! `( ]4 ^
forks:10…20 匹配具有 10 到 20 个 fork 的存储库
# E; b4 W; Y, a+ Q8 p
3.1.5. 按星数搜索
* q P/ i3 Z6 K: q
语法 例子
, u! f, D1 `" `% _/ n" v
stars:500 匹配恰好有 500 颗星的存储库
$ |7 u8 d8 r) J4 r! `3 _
stars:10…20 匹配小于 1000 KB 的 10 到 20 星的存储库
4 T# s' W: k) w
stars:>=500 fork:true language:php 匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
: F# _4 n' j) _5 s
3.1.6. 按创建或上次更新存储库的时间搜索
) n/ D4 O( W0 @' R1 v# d1 n1 O
语法 例子
5 }6 i3 K+ c# {# P; n6 ^4 V6 Q2 P r
webos created:<2011-01-01 匹配 2011 年之前创建的带有“webos”一词的存储库
6 `6 ^/ F# w' g! A0 b( A
css push:>2013-02-01 匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
9 F% J2 f8 O& K& N( |1 Z
case push:>=2013-03-06 fork
nly 匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
* X8 [) y3 i: H& l' T9 i* I5 L
3.1.7. 按语言搜索
$ b5 [6 ]% Q/ {5 S1 M$ K) o
语法 例子
0 G: y4 ?7 M. s
rails language:javascript 匹配使用 JavaScript 编写的带有“rails”一词的存储库
: A6 f% V4 m( Z
3.1.8. 按主题搜索
- o+ l/ y- d1 y" `" M7 X: P; l
语法 例子
0 W" B+ I( t8 I
topic:jekyll 匹配已分类为主题“jekyll”的存储库
6 a# b" U# i. M0 ?% @- ^1 n: a, z
3.1.9. 按主题数量搜索
@ d7 C: W5 ^& Q
语法 例子
+ e5 G. \. b, G& W# D; s3 p3 s: g# k$ O8 e$ O
topic:5 匹配具有五个主题的存储库
( D6 n `8 W+ A( C/ R# @, Q5 D
topic:> 3 匹配具有三个以上主题的存储库
+ F8 [( f2 p1 j% D& }4 b: k
3.1.10. 按许可证搜索
4 ~' E" s4 f8 H) g* Z" q) x' \
语法 例子
0 E: C* f% o5 I6 o4 g$ E6 F- X
license:apache-2.0 匹配在 Apache License 2.0 下获得许可的存储库
' q0 {8 o; ^, o" j, i J/ `. b8 Q
3.1.11. 按存储库可见性搜索
" y" F) |/ D. {9 ]
语法 例子
6 J. P6 [+ i k* Y
is:public org:github 匹配 GitHub 拥有的公共存储库
* g" y! n h/ w( b+ [* N8 O
is:internal test 匹配您可以访问并包含“test”一词的内部存储库
7 X& i% V7 _$ h" p" E0 A
is:private pages 匹配您可以访问并包含“pages”一词的私有存储库
& u2 k5 r; ]) H9 x+ ^
3.1.12. 根据仓库是否是镜像进行搜索
2 D' `8 T# Y; E. @0 G$ W7 c
语法 例子
; Q% e* A4 j/ l
mirror:true GNOME 匹配作为镜像且包含单词“GNOME”的存储库
: f* _* A2 e: e; ^+ D* L M% t/ ^
mirror:false GNOME 匹配非镜像且包含“GNOME”一词的存储库
# }; m6 B% `3 N7 l2 q3 r
3.2. 搜索主题
5 J! U8 ~; G5 p! [
3.2.1. 使用搜索限定符缩小搜索范围
5 M' s5 {; F# p# j$ g& Q; C. O
语法 例子
0 p! k/ w8 r0 i* z$ m2 A
is:curated javascript 匹配经过策划并包含“javascript”一词的主题
0 C' l5 ^. H& T
is:featured javascript 匹配https://github.com/topics/上的特色主题并包含“javascript”一词
8 C- _, }5 \8 f/ v- W
is:not-curated javascript 匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
9 \& P0 W; j+ e( _$ R
is:not-featured javascript 匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
0 b/ n" z/ N% B, w
repositories:>5000 匹配具有超过 5000 个存储库的主题
) R% D8 `: b7 h6 i! N0 y" J8 c
3.3. 搜索代码
: Q9 B7 X6 A! G8 Q# K
序号 代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
- {7 g, c7 [6 N' y4 B
1 必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
* `! {* Q% M- k
2 只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加fork
nly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
) x5 t3 O$ a, s5 J
3 仅对默认分支进行索引以进行代码搜索
2 S7 K5 R7 t: A) N, u( i& L
4 只能搜索小于 384 KB 的文。
- j! l& w$ M X) u% w
5 只能搜索少于 500,000 个文件的存储库
! U _% H8 M% M b" L9 C
6 只有在去年有活动或在搜索结果中返回的存储库才可搜索
; ]( P1 n$ ~* D; a' n- t$ U
7 除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
/ C* B1 e/ w3 J% h
8 搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
) G& k( V& l. [, X
9 您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
0 ]% v; f) K# J) _" g* o- T
3.3.1. 按文件内容或文件路径搜索
9 {* g/ m# A1 \0 n
语法 例子
, y+ ]: t- G8 k' r# {7 i# r/ R
octocat in:file 匹配文件内容中出现“octocat”的代码
( k5 `% R% ^4 g# C
octocat in:path 匹配文件路径中出现“octocat”的代码
# i" a/ x& u4 o& t& K
3.3.2. 在用户或组织的仓库中搜索
/ I; y& H( M; Z9 S* t
语法 例子
* z+ W I# |! o& Z9 i& a! X4 z9 z+ C
user:defunkt extension:rb 匹配来自@defunkt 的以.rb结尾的代码
. |: N; _4 K) g3 X2 W9 Q7 L* Z& W
org:github extension:js 匹配来自 GitHub 的以.js结尾的代码
8 y9 H8 a, q$ v: w" E
repo:mozilla/shumway extension:as 匹配@mozilla 的 shumway 项目中以.as结尾的代码
& w: r# V* l/ f! A
3.3.3. 按语言搜索
; x* d' V+ g1 m Z9 M* R
语法 例子
0 X9 T! d+ z' v& R' a
element language:xml size:100 匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
+ x9 w2 }; f3 t6 Y; a5 ^ `
display language:scss 匹配带有单词“display”的代码,它被标记为 SCSS
: V3 n; R1 ]9 W K) Z1 |$ B
org:mozilla language:markdown 匹配所有@mozilla 存储库中标记为 Markdown 的代码
2 ^6 _# B- B7 T5 Q! a
3.3.4. 按文件大小搜索
4 S. M& Y* r' Y6 e; o0 A% U+ s
语法 例子
! u/ ~' w- T' z, E v# V1 ?4 b
function size:>10000 language:python 匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
_5 E T: i1 a' k# k* e
3.3.5. 按文件名搜索
* s3 ^4 \0 w7 T3 R* g' L& w' z7 _
语法 例子
: T) V r8 O7 @6 q
filename:linguist 匹配名为“linguist”的文件
- Q7 p: [! u+ `, f5 O6 ^
filename:.vimrc commands 匹配带有 “commands” 一词的.vimrc文件。
% R9 `% w. X' Q' q% ~& s
3.4. 搜索用户
& b0 l& ?5 t: I& K
3.4.1. 按帐户名称、全名或公共电子邮件搜索
/ e6 ?4 e3 X* E, |% k; x' {% H
语法 例子
+ | u; P# g! R: v k+ d$ v! f
user
ctocat 匹配用户名为“octocat”的用户
7 F/ O! t& x; e
org:electron type:users 匹配 Electron 组织的账户名
$ u" E3 c" ~/ @ r" B; g. V H
kenya in:login 匹配用户名中包含“kenya”一词的用户
/ K, O# A3 l5 `7 Z+ b+ f
bolton in:name 匹配真实姓名中包含单词“bolton”的用户
$ n" ^8 b: s6 t
fullname:Nat Friedman 匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
# h* j; M" j8 ]% U$ A7 }1 u
data in:email 将用户与电子邮件中的“data”一词匹配起来
! ^& X# l+ W& B6 S& Y
3.4.2. 按用户拥有的仓库数量搜索
9 N, G x+ {7 F& b9 F$ ~
语法 例子
% ?6 Y* N" t' M& E& ?6 {
repos:>9000 匹配存储库数量超过 9,000 的用户
2 i6 g; y% P0 S5 ^
bert repos:10…30 匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
" b) w" p; G Q s+ D
3.4.3. 按创建用户帐户的时间搜索
4 D; Z5 V9 R+ ]2 r
语法 例子
# C) B% y9 W7 U, g: L
created:<2011-01-01 匹配 2011 年之前加入的用户
3 p# g4 M( f8 S: Y0 j! g3 s K
created:>=2013-05-11 匹配在 2013 年 5 月 11 日或之后加入的用户
8 g4 f1 O9 ]' `+ X" ]/ V) a: \ I
created:2013-03-06 location:london 匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
3 Z S# w# ]- M: m. a2 y. E
created:2010-01-01…2011-01-01 john in:login 匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
C& M6 @2 L) F2 b; U6 i
3.4.4. 按关注者数量搜索
8 w2 b' G6 v8 C7 @/ O
语法 例子
6 Q; m% \) ^4 ^
followers:>=1000 匹配拥有 1,000 或更多关注者的用户
+ G4 r/ K4 k8 o: P1 V
sparkle follower:1…10 匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
* r' O' f5 T- q6 L6 h
————————————————
% y$ z U2 i2 _8 V' [
版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
+ i9 s- `1 h+ y. G% l. v! T
原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
" X3 C5 }0 A! K1 B- z
8 c7 }7 h/ k& I6 X
2 T# {. M$ e' O6 T. P1 ~
作者:
1051373629
时间:
2021-8-15 17:52
谢谢了! 谢谢了!
+ H7 Q' Z/ }0 s6 x! V
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5