QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3735|回复: 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
    2 C& x9 c3 ~& I  _  w
    73个GitHub高级搜索技巧
    . R/ v4 Y) u; g73个GitHub高级搜索技巧% ~, I/ Z, n6 `- |# b
    1. 前言7 O7 V9 f/ M3 m( Z7 a( v9 W- I
    2. 排序搜索结果$ F2 u7 o( P8 i( L' o0 y3 z' n* A
    2.1. 按交互排序
    $ J2 W( p0 p8 S9 [; V, i! T* I2.2. 按反应排序
    $ b1 z; `  M2 R' e. S+ ~2.3. 按作者日期排序
    : n$ M7 t' c8 u( E. u5 w$ O2.4. 按提交者日期排序* ?/ ^7 h) \" |, g+ J1 S
    2.5. 按更新日期排序
    ' A7 T/ i2 B( u5 ?: }; R3. 搜索范围
    + D$ Z- V( V& J: c3.1. 搜索存储库
      v  T( D5 x- `+ ~7 P, d3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    2 p1 E" k( n! ~; l* r2 F0 Q- |, [3.1.2. 在用户或组织的仓库中搜索. _6 T" W! ]+ {* r
    3.1.3. 按存储库大小搜索
    / x* U$ k7 P, W9 R3 N3.1.4. 按分叉数搜索! }+ M, U# C4 D7 B
    3.1.5. 按星数搜索
    ; x  y2 J6 `! ]- \$ B3.1.6. 按创建或上次更新存储库的时间搜索
    6 |9 |7 q2 X4 z! p- f' m" M; T8 ?3.1.7. 按语言搜索
    % p8 u4 B  {! x' i* p" M3.1.8. 按主题搜索
    ) `  X: S& P& `: [: R) o3.1.9. 按主题数量搜索
    / ?/ }2 P$ e- B- y7 J0 W3 _3.1.10. 按许可证搜索
    8 O  b  }' L$ ]3.1.11. 按存储库可见性搜索, D' \  B+ M: T
    3.1.12. 根据仓库是否是镜像进行搜索, z+ H- \' a8 E) }# x( d! o
    3.2. 搜索主题( v$ U! j( V3 D; j) |6 A, g
    3.2.1. 使用搜索限定符缩小搜索范围
    ! t' E( ?) C8 W0 O) Q( S3.3. 搜索代码
    + W* b9 h2 h- v: l3.3.1. 按文件内容或文件路径搜索; X1 m3 G, J7 M: B
    3.3.2. 在用户或组织的仓库中搜索1 M* s' v* K' P6 T  q; J
    3.3.3. 按语言搜索
    6 s+ j; C- \# x2 `& Q* K; v9 E3.3.4. 按文件大小搜索. u# Z' D6 ]9 D% F/ k) b6 J9 O
    3.3.5. 按文件名搜索$ K# s& C$ M' }- L: H6 u
    3.4. 搜索用户2 {+ @* A9 _) Y3 \1 E7 Z0 t0 c
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
    & w- q  H; p" C, U. j9 @3.4.2. 按用户拥有的仓库数量搜索
    + a1 ^1 b) V2 [) j( p3.4.3. 按创建用户帐户的时间搜索
    $ }* j. V& d, b3.4.4. 按关注者数量搜索5 v; R& e- P* L- {! v5 g
    1. 前言  ~7 A: y' n9 c  }$ |% G
    GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。' l$ ]" i5 t( o6 T  Y5 @& B
    / o, \" S( ]8 t6 L: c
    3 {% g$ j6 s- e/ @5 D2 w; u
    本文参考自GitHub官方文档。
    * C$ v! y! p. @0 qGitHub官方文档:https://docs.github.com/en, e7 x8 L1 V1 ^

    2 X5 e$ y2 `9 `0 i' P

    8 h; ^; B. G2 |8 d  _
    , s5 P" r6 e/ g5 O" w- G

    & c& S1 S  G- N/ d本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。
    2 O' G" S3 g$ ~( Y/ T
    ; `4 a2 k* q: r# q" i3 |/ m. @

    & B# ^: |! v9 f0 a2. 排序搜索结果
    . X; k2 P, K: ^, c9 o2.1. 按交互排序
    1 G9 Z; O* L: K: j语法        例子
    7 O7 a2 G2 n% x% L/ G/ ^org:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
    6 b; e, n7 m/ w! p( iorg:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
    ' ?/ P2 z7 {6 h2 Q- e$ N, O2.2. 按反应排序% a: o+ _9 d+ c# t- _) K5 q
    语法        例子
    9 X4 B" J2 W" `6 u1 @org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。" R9 h8 T. e% b' g+ Q+ l* M
    org:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
    8 A* C2 v: a6 }5 G$ e+ @- \6 sorg:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
    - A0 W& r8 |$ M; ~  q  oorg:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
    2 L2 U& m  ?3 w% T; }5 ]org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序6 o2 M% R9 v, r3 p5 ~  R1 B
    org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序5 B5 p) M7 F1 n* Y1 i7 i
    org:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
    * W( \. Y) c$ \, ^/ \3 o/ p2.3. 按作者日期排序/ i; m2 _* b/ \6 G! O' E
    语法        例子% T( z# v9 ^3 @+ x
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
    9 A% b/ M$ v$ @; Yorg:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序. q# S9 ]+ k. @5 h
    2.4. 按提交者日期排序
    ) t! A3 F  t, O语法        例子
    ) A+ z) Y& d6 v( w' G0 _org:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
    8 {8 k& P' B+ }/ D$ @9 iorg:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
    : U0 ?* H1 r% r5 B8 w; m2.5. 按更新日期排序
    # p8 r9 a0 C* {2 E# c! O! k. z* m语法        例子( i( o& c$ W. U* q" h5 S
    sort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序1 s! ~% O% y" S( R& O% x
    sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序) d# s: r- H7 \. }0 Z
    3. 搜索范围
    1 Q2 h" _$ m/ v6 {& C7 Q3.1. 搜索存储库
    7 j( V$ O# K- [# Z4 p9 {: C- Y3.1.1. 按存储库名称、描述或 README 文件的内容搜索8 D/ K- U+ Z. r6 H- b
    语法        例子
    2 Z1 C% e! X1 }! }+ W  r4 Vin:name jquery        匹配存储库名称中带有“jquery”的存储库。
    5 ~0 o  f1 |: x9 j" Xin:description jquery        匹配存储库描述中带有“jquery”的存储库。
    * h5 ?2 I3 i0 j8 @0 I% N: g9 h8 {7 cin:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。
    2 u' z# J; f$ w$ `1 f3.1.2. 在用户或组织的仓库中搜索
    1 l* m3 }. l- ?; S) x: T语法        例子  v5 f9 V0 u! T/ N
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。+ q* s& D3 f' R2 ~2 T" e: x- Q# V" K
    3.1.3. 按存储库大小搜索) T* w, c5 m! `$ ~. i
    语法        例子
    0 M- j8 z* n& L* o* [size:1000        匹配大小为 1 MB 的存储库
    8 x# z* g: h: p( Csize:>=30000        匹配至少 30 MB 的存储库) o  k6 n, q2 F; ^& |- E
    size:<50        匹配小于 50 KB 的存储库
    . n' w  `9 E9 G. G" `* J- \size:50…120        匹配 50 KB 到 120 KB 之间的存储库9 I% q4 G/ g$ M
    3.1.4. 按分叉数搜索
    $ d0 U% O* c, Y" c* g语法        例子6 Q1 X3 ?# H! V+ t% c
    forks:5        匹配只有五个 fork 的存储库
    5 ~5 D& R- I, s2 Nforks:>=205        匹配至少有 205 个 fork 的仓库
    ( V3 N& p) F1 aforks:<90        匹配具有少于 90 个 fork 的存储库
    - \: K7 N: x9 k8 {: u  G2 I/ ^5 j: X8 S7 `forks:10…20        匹配具有 10 到 20 个 fork 的存储库
    8 _+ H! U* {( J, ?  H+ }2 ]3.1.5. 按星数搜索/ n5 j. p( m$ k3 y
    语法        例子4 b$ b" @* c2 K; G
    stars:500        匹配恰好有 500 颗星的存储库
    ' F1 ^$ R" k8 N6 C. c" vstars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库
    * u/ `) c; o' @# pstars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的+ X$ c/ {6 B- b; _. f
    3.1.6. 按创建或上次更新存储库的时间搜索
    7 J4 _4 N9 u  C) g语法        例子
    9 t6 D! \9 {, Kwebos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库
    " _( k( U5 R5 a0 t1 [) q6 P9 Qcss push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    % @8 Q, e, U/ [6 i: \case push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    ; \" e& U- e: D; \" d' m3.1.7. 按语言搜索
    : V' v0 `2 N, b, y语法        例子
      N  [2 h" _* |- mrails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库0 [% n, f* N, |7 z7 J3 }9 C
    3.1.8. 按主题搜索
    ' O- R. I/ Q+ A' Q  c8 r! O语法        例子
    : m9 w! T  u/ W1 h2 a( l; {7 y+ g# \' Ftopic:jekyll        匹配已分类为主题“jekyll”的存储库2 f$ f& z8 ^7 @4 G4 K& {. J" f
    3.1.9. 按主题数量搜索
    ' ~0 x4 @3 a7 ?" ~) Z0 k, s7 ?3 H语法        例子6 A# N% ^6 q( N  A3 j. S
    topic:5        匹配具有五个主题的存储库# `  u  u5 F; Y
    topic:> 3        匹配具有三个以上主题的存储库
    , A  v: w1 p; R7 u& Y& w3.1.10. 按许可证搜索+ e3 x8 C- {5 f, Z& w; e) R3 |' w
    语法        例子5 |1 @  P, K+ Q' M( a) i; w
    license:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库
    7 l  s8 @2 V. A! Q) N* U3.1.11. 按存储库可见性搜索
    3 }6 y0 l$ Y% W* G语法        例子" x. t  j, N) Z3 ]; ]/ z! i
    is:public org:github        匹配 GitHub 拥有的公共存储库
    9 {/ l5 G) a: }0 F5 z: y( W8 Gis:internal test        匹配您可以访问并包含“test”一词的内部存储库0 T$ s; G" p' h3 t5 a+ E1 C
    is:private pages        匹配您可以访问并包含“pages”一词的私有存储库
    2 D: D: Z+ S6 h) M3.1.12. 根据仓库是否是镜像进行搜索
    ! v/ P, l5 U- B语法        例子
      {3 f- N5 W2 l* j0 j0 _mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库$ I: b' x: n, ^( D' J) a: y
    mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库) s8 {/ w' O  k* _( G- Q" J
    3.2. 搜索主题
    0 }  x% M8 v+ k" h( [3.2.1. 使用搜索限定符缩小搜索范围
    5 ?  R+ ~: v  f( k5 V0 w语法        例子. ~/ |$ ]6 U/ u! u+ [/ ?! ^' L
    is:curated javascript        匹配经过策划并包含“javascript”一词的主题
    & }( a0 T. w" D) ois:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词. ?' p0 I1 P8 b
    is:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
    % b) j/ D* R) I+ M: T! z* [  Ris:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题6 l) E( @' D! n2 @
    repositories:>5000        匹配具有超过 5000 个存储库的主题" z8 d& Z0 [3 F  ?$ I( t" A& T
    3.3. 搜索代码9 }1 G. g1 w( Q% |! Y
    序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制* T8 Y- l+ T# T# P  a9 y5 K
    1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码- c# L! R7 I) ~: j5 P8 Y, X
    2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
    5 y; x+ k1 E. a" n# |3        仅对默认分支进行索引以进行代码搜索
    ) u; I1 z5 `  J- ]8 G  T" Z4        只能搜索小于 384 KB 的文。4 K8 n7 I' n* d. u# }. D5 m3 @; u
    5        只能搜索少于 500,000 个文件的存储库  l5 w  I" W  U% Q
    6        只有在去年有活动或在搜索结果中返回的存储库才可搜索
    0 r6 L6 c, W, W. X' S, V( W$ h8 Q7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript. z+ P" }& d, ?( \5 {# a1 ^/ t
    8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果. o: }' j6 F9 ?$ K- |) G5 l  e, z  w
    9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^+ @. ?/ I8 A$ ]2 n! s
    3.3.1. 按文件内容或文件路径搜索
    ! g) e; S6 x* z语法        例子% K1 K8 C( c' a1 V* E
    octocat in:file        匹配文件内容中出现“octocat”的代码
    7 w2 ^1 e. O6 v: [1 i7 l7 l  q; Uoctocat in:path        匹配文件路径中出现“octocat”的代码" S3 G! |) q% s3 {
    3.3.2. 在用户或组织的仓库中搜索
    ! j7 H+ T4 w7 @- O" P1 K语法        例子1 `5 K7 H) I. }" _: Q' ~: g
    user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码
    $ s; i  R( l& I. Y" ]5 d" L2 \org:github extension:js        匹配来自 GitHub 的以.js结尾的代码$ I+ r2 ?; g- b
    repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码3 P4 x9 x6 y+ g6 u3 ~7 A$ t$ H
    3.3.3. 按语言搜索0 X" ~, t, x# a1 g8 m
    语法        例子
    & f7 X% h. ?4 n: E( z- zelement language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码2 }8 D3 t, o$ h3 U4 S; d
    display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS! y* ]/ s7 e8 L2 L8 g
    org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码& u7 b% {8 Y! ?4 ^. J3 d- u7 U
    3.3.4. 按文件大小搜索
    ; v+ O  }7 T7 d语法        例子& j- K, U' g! ^  U+ R+ {5 T
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
    9 Z: g1 @4 M* h( J, U3.3.5. 按文件名搜索' h- H3 D2 z: @, W7 I! q
    语法        例子0 R. \1 v2 u2 w. l* \5 `! {5 P( _* w
    filename:linguist        匹配名为“linguist”的文件: |" c- R5 X. m2 T' c
    filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
    4 L4 L! Z" ^  R5 O3.4. 搜索用户
    * t5 d  a! v% H4 K9 v/ O9 A& M3.4.1. 按帐户名称、全名或公共电子邮件搜索
    ( V: z/ q' X1 N$ E% ~( x语法        例子
    $ G  n/ B9 W. v1 K/ D1 auserctocat        匹配用户名为“octocat”的用户* y+ e+ A4 Y' [" z5 |% S9 R+ U4 Y
    org:electron type:users        匹配 Electron 组织的账户名
    7 J* ^; \- A* s0 e  l2 {2 ikenya in:login        匹配用户名中包含“kenya”一词的用户& y+ e2 s/ L: u- L5 d4 y6 s  ]% a* j
    bolton in:name        匹配真实姓名中包含单词“bolton”的用户
    $ H5 C; ~4 k% k2 l( c/ |& Zfullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。) q9 W( r0 R9 c, }8 y) J9 I+ N
    data in:email        将用户与电子邮件中的“data”一词匹配起来% T0 c% D" s2 C( v
    3.4.2. 按用户拥有的仓库数量搜索
    7 x, u2 `2 b& _# @语法        例子
    2 E3 x. A9 ?* Vrepos:>9000        匹配存储库数量超过 9,000 的用户- }- k$ m4 j7 t8 T  k! \5 m
    bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
    # O6 h) J# w& _  y+ L2 e3.4.3. 按创建用户帐户的时间搜索' o' ^( K2 w$ q0 w0 ^3 _
    语法        例子
    , {5 `+ l2 j7 _: @% f; U; Tcreated:<2011-01-01        匹配 2011 年之前加入的用户( l) F1 r2 k" o
    created:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户# N4 W0 }* |. c. _7 v
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户' ~1 g( v8 E/ x0 B8 C- n! m: R
    created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户9 k6 n% Z% ?& l: T$ O$ Q) A7 `
    3.4.4. 按关注者数量搜索2 D- F. o5 Q. I7 f* q" |, Z
    语法        例子
    : U" P! Q* @- J- p3 V' u. gfollowers:>=1000        匹配拥有 1,000 或更多关注者的用户
    , W' U! M" Z5 h! p, ]! I8 p# O7 F7 q' msparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词( F1 D; g1 _3 H7 ^, ?3 Y" i) A0 \
    ————————————————# w9 `6 i. w3 F3 q
    版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。( j3 E: U% F6 H" C- E8 i
    原文链接:https://blog.csdn.net/PaperJack/article/details/1185439808 s; w8 E& G0 \: g

    , D# |) I1 L: j' {" U* W
    " X" y/ ?9 A2 z" m7 w7 q2 J' [
    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-5-26 13:44 , Processed in 0.291068 second(s), 55 queries .

    回顶部