QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3714|回复: 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

    + P; q/ N6 \" c* h; h7 F73个GitHub高级搜索技巧: o' }7 M  _( t$ T' }( {5 v2 B
    73个GitHub高级搜索技巧2 y/ F/ s0 v; m
    1. 前言
    : [3 ]0 I0 P" X: |7 E  a0 j2. 排序搜索结果& V/ {0 U- U9 O! U6 i
    2.1. 按交互排序- v! ?& j3 x7 k* v' h2 k/ n$ r
    2.2. 按反应排序
      Y* p; C" J8 N- W7 x/ Z2 ~4 R0 e" K, \+ R2.3. 按作者日期排序% i; M! G( j; |) ?. J' [
    2.4. 按提交者日期排序
    . }& g# |- q" U- a( s9 ~# c. ^2.5. 按更新日期排序2 a! O' @3 H" \1 X% b/ w
    3. 搜索范围
    * r) a, Q) h( g) {& z3.1. 搜索存储库: ?. v9 m' g. E* Y4 L
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索8 r2 c1 L* k% \* M1 W
    3.1.2. 在用户或组织的仓库中搜索& @# y' x4 K5 ?3 U; T4 z+ u; b( M
    3.1.3. 按存储库大小搜索2 b: o, L% R3 g- {( O4 m7 M8 k
    3.1.4. 按分叉数搜索5 H$ a$ b6 }# k
    3.1.5. 按星数搜索8 H7 }4 [# c2 r+ b" }) Y
    3.1.6. 按创建或上次更新存储库的时间搜索5 Y# n1 |4 g/ E. f6 ~; q7 }! C
    3.1.7. 按语言搜索
    + f1 z* i  _$ _9 ]: E3.1.8. 按主题搜索
    ! m  E. o$ [/ T3.1.9. 按主题数量搜索$ V2 z# J$ P% K6 @8 A3 J: l
    3.1.10. 按许可证搜索
    1 u1 m8 G& ^9 d, D% Z3.1.11. 按存储库可见性搜索. j* x, F" E& W& L( n
    3.1.12. 根据仓库是否是镜像进行搜索7 q+ u3 F7 j8 k
    3.2. 搜索主题
    $ T: d3 g+ x  G# u; w, n, I3.2.1. 使用搜索限定符缩小搜索范围
    8 B! n$ w+ Q3 S3 [3.3. 搜索代码
    7 d+ l) y3 s" j6 ?. b3.3.1. 按文件内容或文件路径搜索
      X  V0 _$ f* @* A5 R- i9 q( w3.3.2. 在用户或组织的仓库中搜索
      x# b7 D# u0 M5 c; I3.3.3. 按语言搜索0 y- m) K$ x" c7 Z1 m! V
    3.3.4. 按文件大小搜索- [$ G7 A2 K' \- x& Z
    3.3.5. 按文件名搜索
    / R0 |$ k2 {, |  n$ V3.4. 搜索用户" }1 s8 }: p- g- {. H
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
    6 |, O4 l' a7 h9 I3.4.2. 按用户拥有的仓库数量搜索
      Z' Q5 ^7 D' T- Y7 h1 F3.4.3. 按创建用户帐户的时间搜索( |/ {6 x6 `/ g4 b4 W6 f
    3.4.4. 按关注者数量搜索
    $ T) U8 r! k5 G3 n! x1. 前言$ t# |4 w6 b* t  J4 f  k3 a
    GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
    ) C6 _& D$ }2 J7 m! e8 M' f$ @4 s% q% @6 |. w2 C8 K
    6 b. L# d1 [! ]8 V* `- q
    本文参考自GitHub官方文档。
    4 b. w+ L, d8 _3 g. MGitHub官方文档:https://docs.github.com/en8 H7 \) h; s+ U9 a# t

    9 y7 d: u. B0 D& I5 e7 Z

    ( ?& x! p' y; v3 ^' G
    0 I7 T+ u; r+ N+ f
    ' H! R& _( D7 v! N; s% }6 @
    本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。1 l' i, x0 x  d
    ; M* N( j$ L9 Q  o6 `

    8 c( [; H9 `) L7 y. w( R2. 排序搜索结果+ i! s/ Z! O( l
    2.1. 按交互排序
    # r; z, _3 m; h; Y语法        例子
    # G+ t. C4 o* k/ E* ?% h; ], _org:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序, R. k: g! X" y7 @3 m: Y( U0 V( y! H
    org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序* B0 _: M5 s( }) A/ W
    2.2. 按反应排序
    1 ~. g+ P* j8 P/ e" `语法        例子8 `0 i4 S) q# e8 P" O5 C1 D( F
    org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
    , w+ f% \0 `# Borg:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
    4 y9 w. q8 `$ U4 r7 Sorg:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
    : O  J+ ?$ E2 Q7 Sorg:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
    # F; _7 y7 R' c( l  M: ~org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
      c) |; }  M8 v( B$ {org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
    # o! |' R& a* Z, S7 Zorg:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
    ; E3 w& I$ w/ x4 L: O, w' `2.3. 按作者日期排序2 C  [; Q" C1 e5 K- S- M# ^+ c
    语法        例子+ {9 C* t3 z4 g, Z
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序& L4 H% C- n. G4 A2 w
    org:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序) q2 T2 D: ?# {& d0 a
    2.4. 按提交者日期排序
    8 @& t0 T0 H% e0 U9 f  ]5 y4 A+ ^语法        例子9 Q( Y% ?: V; j+ H+ v
    org:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序* @% A- c% b4 Y. f! O2 l
    org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
    5 ?4 n' M4 w# e* _2.5. 按更新日期排序
    " N/ W/ r- b# j( [# Q语法        例子; L9 i, e3 F0 T) I; p, \
    sort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序5 G: x: S% F$ c7 \4 t
    sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序
    & _; k' I, q- j( J% L  @' q! S! F+ |3. 搜索范围
    2 V2 G/ l! X1 R( @7 K3.1. 搜索存储库( @6 A- i) ?+ k0 A& d
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索1 A# K! }! i0 K% i1 D
    语法        例子
    & r+ ^  x; s7 y7 N  t( e, t& X) |in:name jquery        匹配存储库名称中带有“jquery”的存储库。5 I# D) @" t. \, C4 ?# e% k2 T" S
    in:description jquery        匹配存储库描述中带有“jquery”的存储库。2 A! Y: R& ?' L) R: `9 k5 `
    in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。. X9 b- B: V7 C# D" u& K
    3.1.2. 在用户或组织的仓库中搜索
    8 ^2 |& D3 l6 ]语法        例子/ s2 M0 ?5 k0 t( W, u" }0 e
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
    5 P* P' U; ^6 M. P. \/ G3.1.3. 按存储库大小搜索
    5 I) K# Q, x$ e9 R语法        例子
    ' A4 d* h9 G+ P, E% i$ `( Csize:1000        匹配大小为 1 MB 的存储库
    % F/ Y% _7 Z9 o3 b0 h9 L: i1 `4 qsize:>=30000        匹配至少 30 MB 的存储库/ |6 Z' l1 v' E& b  }* X
    size:<50        匹配小于 50 KB 的存储库8 f9 y- B2 {5 H8 Y- G! [
    size:50…120        匹配 50 KB 到 120 KB 之间的存储库  B0 }& N0 T% f1 |8 p+ W# y- e6 N8 }
    3.1.4. 按分叉数搜索2 T& Y1 {: H; Z
    语法        例子- o* _1 |( v6 m1 y+ ]0 I- T6 u
    forks:5        匹配只有五个 fork 的存储库0 }* {7 Z, G6 Y& Y, {3 C+ r
    forks:>=205        匹配至少有 205 个 fork 的仓库
    & k1 _7 ~7 w! p* |. Eforks:<90        匹配具有少于 90 个 fork 的存储库
    $ G6 R4 S4 j! s! F7 Pforks:10…20        匹配具有 10 到 20 个 fork 的存储库0 j' t. N+ b& P5 y6 ^' p% ~
    3.1.5. 按星数搜索
    + T% f& k- |/ }( Z语法        例子7 E5 e( X3 Z! T  a6 S5 ]
    stars:500        匹配恰好有 500 颗星的存储库
    " B0 J8 ?# i8 T0 c' fstars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库
    + T/ h  j, k3 H% d% X# E; Cstars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
    8 r: L+ E7 _- }+ n+ k+ L  s3.1.6. 按创建或上次更新存储库的时间搜索
    - h2 v3 J% L  c- h- W. [语法        例子% e. n; m( L% t/ `3 e( z
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库
    3 W+ X; F6 A1 \3 W# W1 Wcss push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    ! e8 v- \' ~. |% y9 Mcase push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。) C! ^' j6 G: Y8 y
    3.1.7. 按语言搜索
    4 ~! M3 J, Y5 T6 b语法        例子) o* H3 T  p+ ^- M
    rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库' N" U( z1 s2 a0 W1 B
    3.1.8. 按主题搜索1 r6 j/ I# `; ?. G8 ?5 I& x: s
    语法        例子" B# B2 _1 Y7 t  ?6 j
    topic:jekyll        匹配已分类为主题“jekyll”的存储库4 X& v9 x$ B. t4 h
    3.1.9. 按主题数量搜索
    3 r$ g4 d; i5 N0 R  }) W/ I1 N语法        例子
      [% {) _2 V& S, v6 Y& g6 Ftopic:5        匹配具有五个主题的存储库
    ( V9 `" x) U3 _7 M2 m+ V; Ntopic:> 3        匹配具有三个以上主题的存储库0 b# p$ m) S" c+ K
    3.1.10. 按许可证搜索
    6 Z( Q7 L% R- |6 a- N语法        例子4 G% `  e7 P* i
    license:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库: n8 U5 y2 J9 ?! v1 W9 t6 Y  v
    3.1.11. 按存储库可见性搜索+ Z3 _: B$ l+ V4 s
    语法        例子
    - ~( G) f' ?; N: o& c1 mis:public org:github        匹配 GitHub 拥有的公共存储库* O9 v  }3 |1 G5 S5 t
    is:internal test        匹配您可以访问并包含“test”一词的内部存储库( |" F- L6 y2 e+ O
    is:private pages        匹配您可以访问并包含“pages”一词的私有存储库5 l5 T/ @# G7 E! H1 W6 e% n8 o
    3.1.12. 根据仓库是否是镜像进行搜索
    ' E9 e/ b0 w+ a, A语法        例子
    ' h  `; W- Z5 l( |: F) Dmirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库
    $ R, N+ E# t7 y( _8 i. G, R6 {mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库- H8 X+ V, I6 r  a' O) g
    3.2. 搜索主题
    $ y" `# B4 Y1 h/ D3.2.1. 使用搜索限定符缩小搜索范围5 T, B9 V! B& b0 i. h
    语法        例子: [* K4 v6 N4 a& q8 M- K$ W
    is:curated javascript        匹配经过策划并包含“javascript”一词的主题
    + i' ~4 k+ t0 v8 Q- Mis:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
    ) `- M' W! W9 ~3 E- J" ais:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题; r1 ]# P$ o$ S1 b  ~
    is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题- r& @# t; g3 N
    repositories:>5000        匹配具有超过 5000 个存储库的主题
    4 b/ l# V0 d- H" |8 e4 }3.3. 搜索代码
    9 {4 z: D7 }8 L序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    % M# B; z$ [3 [9 e; |8 A1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
    2 {9 `3 q& A8 d& L) |2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
    + n  s$ Y" Z7 k3        仅对默认分支进行索引以进行代码搜索
    6 d2 G0 K" `5 ~' L8 V; u, q8 K4        只能搜索小于 384 KB 的文。
    * S; B7 u$ v5 [5        只能搜索少于 500,000 个文件的存储库' u* N+ y( C# ^( e' {
    6        只有在去年有活动或在搜索结果中返回的存储库才可搜索, n" i; V: U! M7 k: O% e+ K$ w7 G
    7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript" f& ]* q* A6 @# m0 z  w, R3 X
    8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
    , G% h1 m; U1 \, {6 u) c9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^% v; ^/ E: q/ b8 y8 d
    3.3.1. 按文件内容或文件路径搜索5 z- ^1 a" D/ ~/ V7 W0 ~+ H! o
    语法        例子
    ( n: s! g8 O1 W2 Z% `( ^octocat in:file        匹配文件内容中出现“octocat”的代码
    5 y# B7 e3 }  F$ P6 F) I/ c/ c% voctocat in:path        匹配文件路径中出现“octocat”的代码
    & i" D" d: z2 A/ ]/ H3.3.2. 在用户或组织的仓库中搜索
    + N0 i; H. x+ _' \  r) Z语法        例子
    7 n$ O+ c* b; Z' m5 Vuser:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码- W  |5 Z. Y* {% d
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码4 ~" c# B. w! O! T" ^
    repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码9 F  {8 U$ B$ g+ g" Q& \
    3.3.3. 按语言搜索$ S% I, p2 x# Q
    语法        例子: c7 r  s% t8 }3 f0 \: c
    element language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码* }/ {9 O: ]) _1 o
    display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS+ I  ]( z. O- i( k/ J) p
    org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码8 H& C8 C9 S# P, f( w0 ]2 P' M
    3.3.4. 按文件大小搜索1 k3 x* D. ]! ^, l8 Q2 g
    语法        例子9 z1 }$ V9 O* O5 B, M3 _
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码: W6 z9 u/ y' \- `! K3 K
    3.3.5. 按文件名搜索: |1 P  w; _: m2 N* ?; \& h" y8 a
    语法        例子. ~- U6 y# i& `5 O; |8 I
    filename:linguist        匹配名为“linguist”的文件
      x& D0 l0 R" A  ]filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
    9 R. Y, `/ l9 c; Y2 M3.4. 搜索用户
    . C& |& f, l5 S  e+ `; Z. E3.4.1. 按帐户名称、全名或公共电子邮件搜索5 b  `$ G1 O+ ^# G2 ]
    语法        例子
    4 j# W' @4 s' p' j6 h, L3 J- suserctocat        匹配用户名为“octocat”的用户
    - ?: |- x! M+ S: L5 c  k% uorg:electron type:users        匹配 Electron 组织的账户名
    . r$ T) ?3 R' Nkenya in:login        匹配用户名中包含“kenya”一词的用户9 \/ \: J6 \* c" k% E
    bolton in:name        匹配真实姓名中包含单词“bolton”的用户* C# j- O8 a' [; u; o
    fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
    ! _9 C6 B4 }8 _" g: D5 Qdata in:email        将用户与电子邮件中的“data”一词匹配起来
    0 {/ ]9 ^0 `' G2 Q3.4.2. 按用户拥有的仓库数量搜索
    : s) A1 l5 n- P) y语法        例子: W4 U. z$ B6 b# E
    repos:>9000        匹配存储库数量超过 9,000 的用户, n9 }' T6 p' l* a5 K
    bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户2 P" K; I& R. _! i+ D2 q6 f
    3.4.3. 按创建用户帐户的时间搜索  j  Z/ t/ y0 y" k
    语法        例子) f4 Q3 \8 X6 v6 }+ _" x6 }
    created:<2011-01-01        匹配 2011 年之前加入的用户# P1 D9 ^+ W% N% _4 S
    created:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户$ _7 S/ M  I9 Z' N8 S* z# ?; g
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
    - O; G$ O( \1 w" L- T7 c  xcreated:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户) e; v$ ]! ~' E4 c: \% }
    3.4.4. 按关注者数量搜索3 t. s/ x5 ]: D+ [
    语法        例子
    & r# r% {* @0 c  a5 y1 w+ ffollowers:>=1000        匹配拥有 1,000 或更多关注者的用户
    : O' N0 H- [  b% p, A1 a1 H  x: }sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词/ C3 X. d- V$ [/ I4 B9 H
    ————————————————
    * Q, n+ m( u+ r: g- d版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    / Q- a; G% |" D, T* b2 U& \原文链接:https://blog.csdn.net/PaperJack/article/details/118543980- J0 c2 I! s( H+ y4 W- X1 U5 O1 o

    # a4 ]. E6 i& Q2 B4 X& t3 Z4 u9 j
    ! }, {- }' P; Q0 _4 @: W! n/ O; M9 V6 K
    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-17 05:19 , Processed in 0.453006 second(s), 56 queries .

    回顶部