QQ登录

只需要一步,快速开始

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

    " Z  k; M5 t4 s, F4 T/ j* r5 I4 S73个GitHub高级搜索技巧
    , A% H( o' f0 j% J73个GitHub高级搜索技巧
    3 C2 ]# e/ t% o( ?# R+ C1. 前言$ s) q. T% g& m- N
    2. 排序搜索结果2 X! H% K; [( F: _( x, M
    2.1. 按交互排序/ R& q! c0 j% D1 O" d
    2.2. 按反应排序5 A2 e5 K+ d, ~4 }1 A
    2.3. 按作者日期排序
    % b2 h) x1 W: `/ T. |0 R2.4. 按提交者日期排序
    5 K1 `5 G! r0 T; j6 A  r3 L" U2.5. 按更新日期排序
    . X; Q- G1 `, N( u  q' c3. 搜索范围
    $ E2 l7 G+ r. D8 Y( ^9 V* I7 Y3.1. 搜索存储库
    ( L3 j. A) Z# w3.1.1. 按存储库名称、描述或 README 文件的内容搜索* w/ Z' n( {2 W
    3.1.2. 在用户或组织的仓库中搜索
    6 r! j7 z! V/ k, G' a3.1.3. 按存储库大小搜索& e; _# i  A! U1 ?
    3.1.4. 按分叉数搜索
    / O* Q( ?" b5 n, x" q' H2 r- X3.1.5. 按星数搜索, i6 i! H/ q, i5 U
    3.1.6. 按创建或上次更新存储库的时间搜索
    ( Z* j2 V0 Q0 B7 o' K! `& k2 b3.1.7. 按语言搜索7 ?" u( L7 X6 C9 F4 h$ P; P
    3.1.8. 按主题搜索
    ( b9 m( m6 A% h" T% F3.1.9. 按主题数量搜索, u# b+ Z8 F8 g) Q
    3.1.10. 按许可证搜索
      l: R) v* {' |+ W3.1.11. 按存储库可见性搜索2 m4 h1 W# g7 A: B3 }" z) S, B
    3.1.12. 根据仓库是否是镜像进行搜索
    9 E& e; o/ x% O9 `! f+ p3.2. 搜索主题1 t* t6 f# |# `7 g  `6 h$ ^  p
    3.2.1. 使用搜索限定符缩小搜索范围' n. ?1 ^9 U3 x* \( s2 \
    3.3. 搜索代码
    # p7 [1 _0 |6 c( J3.3.1. 按文件内容或文件路径搜索
    - U/ C- l# B; i9 A" Q' r: v: K# r3.3.2. 在用户或组织的仓库中搜索! v8 T9 j) K# h0 X
    3.3.3. 按语言搜索/ M# N/ S) g$ O4 J) m. x
    3.3.4. 按文件大小搜索
    " O* ?0 A2 A, N4 |3.3.5. 按文件名搜索' b8 Q3 X" W' Q- V# N' s
    3.4. 搜索用户
      x  D8 M3 W) J5 k3.4.1. 按帐户名称、全名或公共电子邮件搜索5 o  H, G- @8 s) n9 j
    3.4.2. 按用户拥有的仓库数量搜索( [. ^8 G+ ^3 {' E  |
    3.4.3. 按创建用户帐户的时间搜索
    , |" x7 t& d7 m* O8 h3.4.4. 按关注者数量搜索$ B. k/ C% ?  [
    1. 前言
    ; i* o9 x2 @3 w$ F5 tGitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。# \. J- m: W) N9 g0 M: m

    . w) H+ X3 k8 P0 A. F% Q- C2 I
    # c6 S" P/ h$ s: t: s+ _
    本文参考自GitHub官方文档。
    . O2 |( F  ?9 |. z  @8 X0 ]GitHub官方文档:https://docs.github.com/en
    1 k& w" N% Z8 T9 _9 R+ v4 c/ ^
    ! D8 A! T1 ~4 z8 R7 L+ Q
    ( k$ u3 \) D6 {$ [

    4 A  A1 c! w2 _# m+ r4 x% E本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。
    8 w& M" R+ N- C
    2 \5 W  \1 o, g" K# `
    ) `' W$ u* p$ X  u0 D2 I
    2. 排序搜索结果
    ) R' K2 C( j8 p( f$ e! Z- x2.1. 按交互排序' R! }. X" |- v+ n6 |! D
    语法        例子
    ( D+ T4 M7 u$ m) b9 zorg:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序, K; n: H) H5 ^# ^
    org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序5 _; f' q+ W4 }3 Q( \; K. q# S
    2.2. 按反应排序
    + r+ M0 G! A( g, I; g6 f4 v语法        例子
    4 F6 ]8 j1 h& D9 oorg:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。! b# d# P; T% N; G1 B
    org:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)8 ~" h9 \: J2 s# g" ^/ H% }
    org:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序' a3 ~$ p: [( O5 P, G; R; v# q
    org:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序) I: w$ a9 R+ J4 \/ P$ u3 d
    org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
    : |8 O* l$ k) F) Dorg:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
    $ z5 f+ }; v" T; W, k2 v6 }4 i( Aorg:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序# b7 X% @! s! T" w( |
    2.3. 按作者日期排序
    ; c, A7 O- T5 d语法        例子
    , Q! v4 L' g) F1 v$ e6 g* C7 Corg:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序" ~8 `7 ?+ n3 {5 F6 g
    org:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
    5 H- B3 e+ ]: D* i2 D8 O2.4. 按提交者日期排序
    2 _+ f0 x1 c/ \+ |5 u% P8 B- n, J语法        例子
    2 M7 y  S+ h6 x. Oorg:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序+ N0 ^; u, p& C9 u
    org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序) c9 x5 v6 h6 {# W. W
    2.5. 按更新日期排序
    1 L5 M6 a+ _5 d2 y% d5 x语法        例子
    9 T0 i) @4 R' t# Q. Jsort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序, D/ `( S) i0 e& R: o1 w
    sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序( H* A4 x( W* j
    3. 搜索范围
    9 G: [. X3 D1 I. Z* D3.1. 搜索存储库
    $ D2 @+ [# b' ?# O3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    0 O  v0 o( O, ]3 T* T语法        例子
    % R; y4 i6 Q: B% f. ?in:name jquery        匹配存储库名称中带有“jquery”的存储库。
    / D! [0 `  [" z  |8 win:description jquery        匹配存储库描述中带有“jquery”的存储库。, Q% b5 T- {+ `# ^( S, I, C" c
    in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。3 ]* d3 S0 H/ ^/ s/ U2 g
    3.1.2. 在用户或组织的仓库中搜索' W& W) ?, z2 u2 e& y1 V& D, ]- r
    语法        例子# r( p: I$ o2 k
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
    ( f$ l; }! |+ n2 T6 f3.1.3. 按存储库大小搜索
    & K' U# y% H  Q语法        例子2 P9 U5 }% o7 R+ l0 q$ O
    size:1000        匹配大小为 1 MB 的存储库% S; l7 A: B0 _  r
    size:>=30000        匹配至少 30 MB 的存储库
    / L4 Z( m9 L0 {size:<50        匹配小于 50 KB 的存储库
    ) G1 p! @/ \  W. V* Z" ?+ \size:50…120        匹配 50 KB 到 120 KB 之间的存储库  `9 H' x; D4 ]' a+ y, a! b$ x
    3.1.4. 按分叉数搜索
    2 H, A! M2 B, g, [, V语法        例子
    4 B6 A' h1 M* F! J  z; pforks:5        匹配只有五个 fork 的存储库
    9 M1 E4 p) L% Z9 w/ o3 I& Gforks:>=205        匹配至少有 205 个 fork 的仓库$ _7 E$ |/ v- x% y* Q  T
    forks:<90        匹配具有少于 90 个 fork 的存储库
    " {! O1 |7 M, u& |' s# }3 xforks:10…20        匹配具有 10 到 20 个 fork 的存储库
      m/ w+ O5 m  S, U* h( ?7 \3.1.5. 按星数搜索
    / j4 }: R4 r7 O. C语法        例子
    " c/ y0 f' k& F0 O9 o8 O0 jstars:500        匹配恰好有 500 颗星的存储库7 o2 [/ h( T4 ?3 {: l3 Q  s/ C
    stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库4 {% _$ O7 p6 E, H7 B
    stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的0 `- p! C4 Y: M4 K# ?- \  P
    3.1.6. 按创建或上次更新存储库的时间搜索
    2 F' B5 u- U" n: w; ^语法        例子7 j/ t8 |/ o  X" f
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库  y. h/ X. G5 T1 O( Y, p2 \
    css push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库% V/ ^2 s! N% e3 r& ?) [
    case push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    0 G1 {0 c, I9 K/ X+ S: [3.1.7. 按语言搜索
    - \3 w7 u  G. X/ T, W9 ^语法        例子$ f% O# E2 y2 B& S$ @
    rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库6 r0 e# \: I/ ~  f" a* G0 R  B/ l
    3.1.8. 按主题搜索
    2 E) ]9 J  J0 _3 R' y语法        例子$ g! r* m  l; L$ P9 n4 D& X2 g
    topic:jekyll        匹配已分类为主题“jekyll”的存储库
    , m0 Q) Z( P/ X' K- X1 F' _3.1.9. 按主题数量搜索7 R; E# p. e' x/ a' K
    语法        例子
    # L# o( |  M. v3 C  h0 qtopic:5        匹配具有五个主题的存储库
    $ w/ s, t- F' ~topic:> 3        匹配具有三个以上主题的存储库
    6 ]+ N) n4 j9 B3 |* j3.1.10. 按许可证搜索
      j! O, |1 r5 r% [5 u6 [/ f语法        例子
    ; {, @: T: b  k; Q& v% C  [0 X2 }+ Plicense:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库
    : b2 Q0 Z' f+ q  c0 m3.1.11. 按存储库可见性搜索  L" d1 l5 `" n
    语法        例子
    * r0 `2 ^  r5 K' @% Y# _is:public org:github        匹配 GitHub 拥有的公共存储库* t5 j% x! j$ E/ O. n3 I
    is:internal test        匹配您可以访问并包含“test”一词的内部存储库
    ' }9 ^" `- z& ]* }9 T4 `# ais:private pages        匹配您可以访问并包含“pages”一词的私有存储库
    & P  }2 e  a( W) T3.1.12. 根据仓库是否是镜像进行搜索$ J8 h1 o5 L( ~: R* A
    语法        例子# F& D5 g9 P& _! {
    mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库7 r$ `. e8 f" X' [) U1 c0 f
    mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库
    ; i5 k5 U1 J' l, J* R+ z9 Y' H3.2. 搜索主题
    ' m% i$ ?" P# v3.2.1. 使用搜索限定符缩小搜索范围
    , \! ^3 g5 _4 n- q语法        例子
    ) q) A; u2 y$ fis:curated javascript        匹配经过策划并包含“javascript”一词的主题: _" Q0 r& i6 P: \/ p
    is:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
    ' W! ~$ v' U. O2 u4 m, T9 l$ \1 vis:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题* W6 C5 o9 T4 D2 v/ U9 Z9 N+ }; B* ]
    is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题" m, ^9 W$ z0 f+ P5 b! z
    repositories:>5000        匹配具有超过 5000 个存储库的主题
    / n. [% p0 n; u  M6 G& y, e3.3. 搜索代码
    / e& v5 e5 C4 i. b  P8 p序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    ) b- H: A- a2 y1 o; ^" \1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
    5 |" z6 [8 R* }3 z2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
    9 l# F  ]2 s2 Y& E# q3        仅对默认分支进行索引以进行代码搜索9 f1 h4 `7 c- `1 H) b: l
    4        只能搜索小于 384 KB 的文。
    ' p2 C4 o; Y7 _! Q4 T/ K- Z9 @5        只能搜索少于 500,000 个文件的存储库
    9 h+ M4 ~5 z+ A6        只有在去年有活动或在搜索结果中返回的存储库才可搜索4 K# L9 ]) }( F7 O
    7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript2 _+ t& O5 N- N5 n$ i
    8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果' @5 L6 H7 }4 A) S, R7 C6 ]% h
    9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
    ) ~/ q2 s; Y( r( X9 m3.3.1. 按文件内容或文件路径搜索0 u7 V) M- \7 F* f
    语法        例子- g3 @. {' l1 h  o. U2 _! }$ @5 z2 W/ a
    octocat in:file        匹配文件内容中出现“octocat”的代码9 C8 k! G3 ~' ]5 i" a# }. t8 {
    octocat in:path        匹配文件路径中出现“octocat”的代码
    : u- V% t" [. Z1 M, s: |3.3.2. 在用户或组织的仓库中搜索
    # x  l' ?5 p0 P# E' s3 R9 e, k) H语法        例子
    ; i/ F7 t! l$ E( K) M4 R: G. `user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码' n2 b: t6 I( C9 e1 s
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码" W, [" n( o3 X- ~
    repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码& g/ _! s" Q# Z
    3.3.3. 按语言搜索6 X4 S: T3 L7 z" v8 M
    语法        例子7 R6 p) ]' ?- _
    element language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
    ) x) x% q: R: U- ~; C6 P; ]display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS
    * W3 f0 [; H" B, a" a' J/ ^& ^org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码
    / W3 i$ \7 P7 w3.3.4. 按文件大小搜索9 K' S  h% _' q2 W; [
    语法        例子6 i4 u; L- k! v9 k
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
    . T& H- p) T6 Z- L! \7 a3.3.5. 按文件名搜索8 s) |! y/ R9 B6 @+ T, K6 S
    语法        例子- d: g8 ]+ x; ~) d; U: a: g/ S* v
    filename:linguist        匹配名为“linguist”的文件
    - n$ J. w) a  u5 z& }( b* L$ j' Zfilename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
    0 R7 |  _- ^+ C& Y9 b, }5 [( h3.4. 搜索用户
    & r: s2 m# w! B) w7 {9 ^2 T3.4.1. 按帐户名称、全名或公共电子邮件搜索  b) D. u/ v/ y
    语法        例子/ ?: |& W' k" |- R6 Q0 N/ @
    userctocat        匹配用户名为“octocat”的用户
    ' J: q; ^, T7 A7 z- W! k5 x& {; Iorg:electron type:users        匹配 Electron 组织的账户名* \  D. Y- b- |! T2 d& ~
    kenya in:login        匹配用户名中包含“kenya”一词的用户
    $ j: @' B; A4 D3 Ubolton in:name        匹配真实姓名中包含单词“bolton”的用户
    9 Q, q/ m* x6 ufullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
    / I6 r4 o! p/ o/ R6 M5 Sdata in:email        将用户与电子邮件中的“data”一词匹配起来& b* h2 P" |+ E& j3 e
    3.4.2. 按用户拥有的仓库数量搜索7 C& i6 W  I: |, c2 i" M5 U) G8 I
    语法        例子4 l; Z' u! L: N! u' r3 Y
    repos:>9000        匹配存储库数量超过 9,000 的用户
    9 B' H2 D8 M  L. Q! Gbert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
    2 v/ A7 N/ @8 s; Y: r: D6 e3.4.3. 按创建用户帐户的时间搜索
    & [% V5 f1 t/ T语法        例子
    ' @7 `: I. ~3 P1 N* R, c* Ncreated:<2011-01-01        匹配 2011 年之前加入的用户
    % |4 u  m6 M$ a; g8 U9 h! v0 Hcreated:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户
    ( w. f. _! d5 Mcreated:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
    $ H: V2 {4 O0 o  \2 W% S1 F9 Mcreated:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户! Z$ D; A$ X& k1 N; k& y
    3.4.4. 按关注者数量搜索! |; h" V+ i& `
    语法        例子
    9 m) k5 B& Q# kfollowers:>=1000        匹配拥有 1,000 或更多关注者的用户
    6 L' _0 O/ {6 N2 t" _+ Isparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词' X, R5 D1 \6 U
    ————————————————
    5 x7 \. V1 J! v7 H7 T1 z9 j版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。4 W& S1 o# R4 X3 P3 H; Z
    原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
    : T+ \9 e+ B4 ~- K" p; W2 ]7 l# J2 U
    ; I9 m  D) n0 D1 k$ H, \
    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-12 17:37 , Processed in 0.768031 second(s), 56 queries .

    回顶部