QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3707|回复: 1
打印 上一主题 下一主题

73个GitHub高级搜索技巧

[复制链接]
字体大小: 正常 放大
杨利霞        

5273

主题

82

听众

17万

积分

  • TA的每日心情
    开心
    2021-8-11 17:59
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    网络挑战赛参赛者

    网络挑战赛参赛者

    自我介绍
    本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。

    群组2018美赛大象算法课程

    群组2018美赛护航培训课程

    群组2019年 数学中国站长建

    群组2019年数据分析师课程

    群组2018年大象老师国赛优

    跳转到指定楼层
    1#
    发表于 2021-7-8 14:57 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    7 C; x4 o$ F6 e5 j0 g
    73个GitHub高级搜索技巧
    - i  S8 ?. R3 r- e1 t3 u73个GitHub高级搜索技巧% D8 D6 B" f* d* I4 ?8 A$ k
    1. 前言
    % i& s; ?3 y6 m$ I2. 排序搜索结果/ A, X# Z1 W* W0 |8 p& H
    2.1. 按交互排序  i& I9 W* R2 q, ^9 |4 M
    2.2. 按反应排序
    - X; i$ Q/ t7 T: {- M: d3 \2.3. 按作者日期排序  ~" p' T! o. i, K9 w& ?
    2.4. 按提交者日期排序: j+ ]: J+ y6 Z# [( m
    2.5. 按更新日期排序
    , w$ n: i0 A$ V7 M# c7 b3. 搜索范围
    4 e2 c1 G4 `2 m! n3.1. 搜索存储库; ^6 ^/ x- u5 M0 J; W
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索* R  r' @+ F# m* A/ f
    3.1.2. 在用户或组织的仓库中搜索
    3 P! L8 {8 V2 s3.1.3. 按存储库大小搜索
    ( \8 ~- t2 |1 v0 F3.1.4. 按分叉数搜索
    . e( @  t+ S) x% }/ D3.1.5. 按星数搜索) s3 @8 R! ^- [8 V5 [
    3.1.6. 按创建或上次更新存储库的时间搜索
    ) A4 m: v' P+ t% N3.1.7. 按语言搜索
    : S' z1 D7 P& c4 T7 m9 v3.1.8. 按主题搜索
    2 U: \/ o3 S; T1 u3.1.9. 按主题数量搜索9 ?; b$ L  o& Y* T7 P
    3.1.10. 按许可证搜索
    2 s" J! d( B( Q; J" v; j3.1.11. 按存储库可见性搜索& r, A; R, u# b4 K
    3.1.12. 根据仓库是否是镜像进行搜索
    6 L, a. p+ G! q( h  V# A3.2. 搜索主题
    3 K6 x; E, `# ^# L9 C9 i3.2.1. 使用搜索限定符缩小搜索范围5 f9 ]9 J1 x% K$ ?* T3 J
    3.3. 搜索代码) S$ `: W  u. `& A+ f
    3.3.1. 按文件内容或文件路径搜索* h: [6 j9 X2 D
    3.3.2. 在用户或组织的仓库中搜索7 g  d: f3 f) J
    3.3.3. 按语言搜索& T; h4 x/ r; L" v$ S1 E
    3.3.4. 按文件大小搜索
    * T1 b+ V' j/ b- g2 [3.3.5. 按文件名搜索2 ?8 j0 a! d! _: x
    3.4. 搜索用户
    ' Y' {9 A. P4 x) C* R3.4.1. 按帐户名称、全名或公共电子邮件搜索6 L% g6 P5 o+ d' X0 ~
    3.4.2. 按用户拥有的仓库数量搜索
    2 [* ~. U: v/ ~7 k2 X' o6 \) S/ c* q" V3.4.3. 按创建用户帐户的时间搜索
    : q- ]; X( e" N# t: ]2 d3.4.4. 按关注者数量搜索+ M4 f* ~' s" Z! [2 f) Q& k. a! T
    1. 前言% O! ]7 C  ]+ U& r. o9 I; W
    GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
    * s7 u+ L" I3 }/ V4 k' \! @* l, @" A) E: C% b
    ; v0 y# q3 S# D) _; F/ A( O$ V% E
    本文参考自GitHub官方文档。
      E0 r6 G- V( j, M9 Z" @- u7 z3 bGitHub官方文档:https://docs.github.com/en
    & d+ h' c: o, f2 ?7 s- f- o, i: U, N; k+ H- M2 O8 t3 h

    " S9 Q: [( J6 b2 s7 M
    " {+ S- V% @3 N' ^; _0 G# O
      T- E6 a+ v5 B7 R* m- `
    本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。& ~( ^3 d9 B2 Q% b7 R$ t1 f/ x
    ( O) U. ~# h5 E/ D1 i, @

    ' X% `: C  {3 f+ P. e( X. P) J6 v2. 排序搜索结果- K% w/ J' w# s/ \& ]  i+ v+ ^
    2.1. 按交互排序' H# y) N: ]& s1 d2 T0 V! _6 s% l; f
    语法        例子
    ( D; F# ^  g2 c* [: \% E7 v! l* ^5 Eorg:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序/ T8 F, v6 i9 ^( g. |( Z3 b+ m
    org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
    7 j/ n! X! X1 p& g$ r) V! C9 q2.2. 按反应排序2 F5 n  e- n7 V
    语法        例子
    + r, Z6 V7 f: A+ U5 j. _org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。0 Z& _. D: G# C7 J- b& Z
    org:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)6 Q; c6 v" ]7 r  [1 H/ a' \
    org:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序4 S: ]" H2 \) p2 o' r+ @; a
    org:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序9 @0 d" `  Y- c# t
    org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
    - [1 {. K) S3 l, g6 ~( [org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序7 _0 j) Z( @' F# t
    org:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序% K8 F5 c' \3 u
    2.3. 按作者日期排序+ y* p4 l* g9 g& S
    语法        例子/ L! Z5 W4 O9 u8 P  S3 ^, e/ M1 S
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
    9 O7 j+ F# u! p9 P3 \+ O, horg:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序" D  Y6 F) |+ l8 J6 \
    2.4. 按提交者日期排序
    " N2 r* ^) }$ T, R$ p% O语法        例子- Q! Y+ q9 p- z/ a1 T
    org:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序, \: l- }  |7 R/ T$ F
    org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序) ?7 d9 X9 y2 ?; ^/ K
    2.5. 按更新日期排序
    % u0 ^( H; ?9 F" ?9 ?9 ], {3 R语法        例子6 Z6 F+ Y; t9 ^, `/ r1 ^' N* S8 e5 _
    sort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序2 g2 A+ v9 r& g2 h' p
    sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序8 X0 z6 o5 k+ \! X
    3. 搜索范围
    , I9 u, y$ Q3 K1 y4 d: o3.1. 搜索存储库9 a" o% Y  `3 a
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索5 Q- h3 L1 \( B8 o, q6 [3 w9 ?
    语法        例子
    2 h! b) f) I7 X1 ^3 `  Jin:name jquery        匹配存储库名称中带有“jquery”的存储库。
    1 A+ }5 M' T9 R# n2 Ain:description jquery        匹配存储库描述中带有“jquery”的存储库。: s( \5 }. }: c3 V+ a, K; K
    in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。+ b: u* d" L  Y, w8 R/ ~
    3.1.2. 在用户或组织的仓库中搜索
    ! S, R( S$ b) `% I# m( L5 O( g语法        例子, u6 k) I! A+ C4 i# H! N
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。( t8 R" d+ g: Z5 @. j' e
    3.1.3. 按存储库大小搜索
    4 i( F# V3 b6 D% |# u语法        例子
    0 ]. r0 _% K# s; s: ?6 f7 I/ w: Xsize:1000        匹配大小为 1 MB 的存储库
    & s8 @3 S6 u5 J* M  ?size:>=30000        匹配至少 30 MB 的存储库. L; L2 @" I8 e( R; ]1 {
    size:<50        匹配小于 50 KB 的存储库
    4 B' V% d6 ]% w8 ~( `! |* U% q  Fsize:50…120        匹配 50 KB 到 120 KB 之间的存储库
    . a9 M% A$ V5 @& u+ v. H& h3.1.4. 按分叉数搜索
    " O% M2 ?) {+ Z9 h语法        例子
    : _- s6 s3 x! }7 X3 H$ \: wforks:5        匹配只有五个 fork 的存储库9 W' g  T0 ~3 Q- ~; e
    forks:>=205        匹配至少有 205 个 fork 的仓库
    7 O: P" \/ A4 g5 q! R9 U0 |) M8 o+ gforks:<90        匹配具有少于 90 个 fork 的存储库
    , M1 e+ v" C2 Xforks:10…20        匹配具有 10 到 20 个 fork 的存储库
    3 r; c5 k, M! w2 U- [3.1.5. 按星数搜索
    1 A% O; j( {$ m6 L% Z# f/ P语法        例子
    ! e1 q/ l6 Z  u  R2 b3 E# k& Qstars:500        匹配恰好有 500 颗星的存储库: e" d+ M5 P" ]1 E
    stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库
    9 |& y2 ^# C) v8 _stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的# V1 L6 S# \# ~4 O! Y
    3.1.6. 按创建或上次更新存储库的时间搜索
    * W  ^% m2 L1 U, Q( d* B6 N& x语法        例子: b* i! T" p; Q$ x& v, V
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库: G: c+ b9 H: l' e, C4 Z- [
    css push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    . T: Y7 N$ c) P1 F1 V* g7 J: X% \/ ucase push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    , {9 X, l$ w/ |6 i5 q3.1.7. 按语言搜索
    ; F2 l, B: f5 D3 ]9 c7 \2 _1 d语法        例子3 d& V0 c7 ?" m: D' n
    rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库
    3 x/ X! [0 W. @1 [3.1.8. 按主题搜索
    # \; j; ~2 G) o5 t6 J- `: |语法        例子
    % Y' k! {8 e4 ]( g" u' i# Htopic:jekyll        匹配已分类为主题“jekyll”的存储库
    . g/ {3 e3 z& d4 U5 P# b3.1.9. 按主题数量搜索
    ; ?/ Z0 K: N( V; I5 u* o# Q5 @语法        例子& `" J& n# q  ]# f4 R
    topic:5        匹配具有五个主题的存储库
    ( p8 K- U; {! w( N" b% e4 Otopic:> 3        匹配具有三个以上主题的存储库
    7 v' X* u6 n# @2 Y) I( h3.1.10. 按许可证搜索
    1 V% ^/ `- T/ ^语法        例子
    & m' x; I, e4 ulicense:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库
    / C# r  Q# C0 ]9 c% P3.1.11. 按存储库可见性搜索
    5 ?0 v4 d% p6 X7 a, v: T/ m  K语法        例子6 F0 B& K( D# l9 G- F
    is:public org:github        匹配 GitHub 拥有的公共存储库
    ' B" c# W3 S. t9 Wis:internal test        匹配您可以访问并包含“test”一词的内部存储库
    , ?" j0 E) T( Q' \. xis:private pages        匹配您可以访问并包含“pages”一词的私有存储库
    ; t0 \9 G4 z# w5 v/ _. s' d3.1.12. 根据仓库是否是镜像进行搜索
    8 E+ a' w* k5 z5 S% e/ R+ z语法        例子& E# O# _) B& y
    mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库
    ! |) L! B5 c' ]mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库6 E' n3 {* h: K) |" Z" n# w
    3.2. 搜索主题
    $ t" r1 N( U  L7 w3 Y1 r3.2.1. 使用搜索限定符缩小搜索范围
    $ x7 B% `8 G  g. d: N语法        例子0 G! v% J& S( K; v$ J7 g+ v1 t( V
    is:curated javascript        匹配经过策划并包含“javascript”一词的主题
    + a% m# ^; f. ]5 X" gis:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
    3 l9 E9 d) b# [8 k# kis:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题4 N( z( r4 R) Z6 R8 Y1 b9 F
    is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
    ; c2 A( ^. O+ g6 a8 N$ urepositories:>5000        匹配具有超过 5000 个存储库的主题
    . H1 W6 t! T6 H6 Q, y; }3.3. 搜索代码# h. r: Q6 {" s/ v
    序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制- F1 ~% ^8 t8 G/ u4 i0 F! a, h8 H1 ^5 M- O
    1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码4 s4 ^; g+ M- t9 ?, z
    2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
    0 _% N0 ?$ f! Y1 c8 l6 A3        仅对默认分支进行索引以进行代码搜索  M8 Y1 K: d% Z, H6 c
    4        只能搜索小于 384 KB 的文。; n* k/ M6 K, I9 [3 Z0 ]3 r
    5        只能搜索少于 500,000 个文件的存储库
    7 \5 ?1 `* {- `9 i6        只有在去年有活动或在搜索结果中返回的存储库才可搜索
    : D1 p7 U/ O( |$ `1 Y  O! i7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
    " Q+ Y/ Y/ b7 U; x5 C8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果/ S, v+ q) ]# q- E
    9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^2 R5 r, i: K0 l1 p, d4 r1 J
    3.3.1. 按文件内容或文件路径搜索
    + {8 A4 X/ h$ S: r" h% P语法        例子! c3 H) c: @3 K, g5 w
    octocat in:file        匹配文件内容中出现“octocat”的代码2 }" i; ~& N& w: ]$ u! O
    octocat in:path        匹配文件路径中出现“octocat”的代码
    7 s& g8 w% T8 d3.3.2. 在用户或组织的仓库中搜索
    5 ^5 V& l* |6 D  K( x语法        例子
    7 T9 c1 \9 s/ o7 b0 p5 n* yuser:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码
    * }( c0 D' c8 j8 ^org:github extension:js        匹配来自 GitHub 的以.js结尾的代码
    9 t4 m/ E4 O) o1 J. lrepo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码, W$ R0 G8 Q( e& _; [/ s) k
    3.3.3. 按语言搜索
    $ L+ Z% C* J& |" S语法        例子
    ! d( t' a3 V. a+ a- [! T  Aelement language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
    5 S. {  O* {& Z/ z) p5 adisplay language:scss        匹配带有单词“display”的代码,它被标记为 SCSS; }" s$ G; ~4 S
    org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码" u- o, Y# x$ S8 \
    3.3.4. 按文件大小搜索
    & n- M: B' ?$ A" W# T语法        例子. }2 Y4 M9 T& N2 z; x
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码$ b9 S: X( u% Z9 A
    3.3.5. 按文件名搜索1 W  J3 \! d; X  z
    语法        例子
    8 J3 `4 R' Q* W6 B6 n8 M; d- b, Lfilename:linguist        匹配名为“linguist”的文件0 g! A) c2 e: y; M$ L
    filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
      @2 A3 f0 G) Z% Q* Y% H1 ], O3.4. 搜索用户
    5 H. ?; O8 X5 v* ^3.4.1. 按帐户名称、全名或公共电子邮件搜索  A, P3 r; @& ]7 Q
    语法        例子2 G; q2 \* ?) x: }5 V  u
    userctocat        匹配用户名为“octocat”的用户; R8 I1 }* \" p# G
    org:electron type:users        匹配 Electron 组织的账户名/ j6 @4 Y8 z) P9 }
    kenya in:login        匹配用户名中包含“kenya”一词的用户
    5 f! O4 @6 }2 T/ }# h/ M  ?. Pbolton in:name        匹配真实姓名中包含单词“bolton”的用户3 d! T( |) g4 x- e& C
    fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
    ( P5 T( \6 D- h4 @! u& bdata in:email        将用户与电子邮件中的“data”一词匹配起来
    3 p  I- }* M2 L% @' D, H4 c; W) T3.4.2. 按用户拥有的仓库数量搜索
    2 T# d# O& V9 ]0 L语法        例子
    3 _0 r( H# {- w2 q$ }4 K  rrepos:>9000        匹配存储库数量超过 9,000 的用户
    0 J8 h6 u  \6 G& X" u8 g  Lbert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
    9 g6 r: ?9 e% J3.4.3. 按创建用户帐户的时间搜索, x" o. K# {+ O
    语法        例子& v5 ~% ~% M7 F/ L9 E
    created:<2011-01-01        匹配 2011 年之前加入的用户
    5 @2 ]- E/ {2 Q- Acreated:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户, ~  }; T, ?. @7 D& Y3 L
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户) q( u# B6 o6 O+ t8 ?3 M8 S# v
    created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
    # m: q7 H5 C& O6 u( i8 X3.4.4. 按关注者数量搜索+ y, N5 v5 T. Y5 N" Y5 O
    语法        例子
    ( z" `- R4 v/ tfollowers:>=1000        匹配拥有 1,000 或更多关注者的用户
    & f  d' F! l% x+ E) G# Tsparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词& |& H$ P" Q8 Q5 S* C! V0 m4 p
    ————————————————
    3 O9 S; m# Q% ]7 w3 x版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。/ m5 d2 c1 o( E; v: J( I- D5 N/ Z. _: v
    原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
    # n  y3 Q) L$ e. Y7 I( [5 _1 q
    ! q4 F9 P, h" I# y3 c& Q2 T+ X/ F& w$ E& ?- N0 \
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    10

    听众

    299

    积分

    升级  99.5%

  • TA的每日心情
    开心
    2023-10-14 10:28
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-10 16:59 , Processed in 0.292464 second(s), 55 queries .

    回顶部