QQ登录

只需要一步,快速开始

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

    6 U( H$ w( J/ l' R* Z: `: C73个GitHub高级搜索技巧1 U& L/ j( M- G1 ?( J8 N% x) E( {
    73个GitHub高级搜索技巧
    ) j  g2 |* e5 d" p1. 前言* ]0 e8 n: }% t- r: ?, h
    2. 排序搜索结果
    + \# e! x  K2 W6 d, }3 e- n2.1. 按交互排序6 f2 Z" }& R; O
    2.2. 按反应排序
    1 y& j5 V% d# _% m1 ?2 V8 B" t2.3. 按作者日期排序
    , I% \1 |9 ?9 c  ?1 |2.4. 按提交者日期排序
    . F6 E+ x; r$ W6 N, }+ j2.5. 按更新日期排序
    . W7 I! ~% o9 `( W3 i6 F3. 搜索范围4 e2 q  i# h/ L: @  f% P
    3.1. 搜索存储库
    0 U% K& _9 R5 R! [3.1.1. 按存储库名称、描述或 README 文件的内容搜索% I2 B/ l! c! }5 W/ J
    3.1.2. 在用户或组织的仓库中搜索1 Q( ]/ T  m: F# t) p3 U& V, ]
    3.1.3. 按存储库大小搜索# y' ~6 p- y) J5 V$ h( A
    3.1.4. 按分叉数搜索0 V2 G! [7 X$ O/ _/ m! L
    3.1.5. 按星数搜索* W4 s5 m! u; Z+ _
    3.1.6. 按创建或上次更新存储库的时间搜索, @# O/ F3 O+ K" @
    3.1.7. 按语言搜索
    4 I2 n. y2 Y& P  L% ~3.1.8. 按主题搜索
    8 b% X6 ^( o4 s/ g+ L$ ]3.1.9. 按主题数量搜索) m! [, D1 `, C) U2 w! ~" ~* Q
    3.1.10. 按许可证搜索* u) u& j' `$ e% K4 ]
    3.1.11. 按存储库可见性搜索3 D9 W) x9 f, ~8 R4 D) q3 N- I
    3.1.12. 根据仓库是否是镜像进行搜索: n  P7 P3 ^9 a
    3.2. 搜索主题
    ( e0 T/ S& e; G9 B3.2.1. 使用搜索限定符缩小搜索范围7 t7 a* _/ E) R/ @  [% n# f3 n/ P
    3.3. 搜索代码2 O- G" m; o) R6 A) ^$ h6 r
    3.3.1. 按文件内容或文件路径搜索% O7 C5 i* ~' Z& G' }4 _( X
    3.3.2. 在用户或组织的仓库中搜索
    ( w6 E1 L$ k  A* M3.3.3. 按语言搜索9 D; t3 }7 X, w5 C1 D; j8 t& P* b
    3.3.4. 按文件大小搜索  v, H) I3 n7 r7 L* U# g$ y
    3.3.5. 按文件名搜索% M4 x! T  R. u
    3.4. 搜索用户- U! d! j" X- h; O5 k! o- D7 ?+ C
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
    + J' }5 O: y: O2 H3.4.2. 按用户拥有的仓库数量搜索
    0 m+ \* p: E4 ^! w6 E3.4.3. 按创建用户帐户的时间搜索
    $ s# d: q/ x& Z3.4.4. 按关注者数量搜索
    6 v1 M# d. P4 \9 z8 b: W7 N1. 前言
    % ]' Z; M4 Q! m, pGitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。0 B1 @/ U2 _; o1 S; o

    3 P, A9 O$ t( T& e& _; m# Q
    2 Y1 z( Z4 e: }; v$ I3 B. ]9 s
    本文参考自GitHub官方文档。
    : I: ^7 U8 Q- k* uGitHub官方文档:https://docs.github.com/en
    5 f; w1 \: C7 w) B0 ?9 p- N
    ' s8 k3 z7 w: ~7 `

    " s" u7 N3 d2 s/ y0 g+ h( F
    5 C0 R5 D1 ]  l0 s+ J1 A1 u

    " s' l/ E6 v5 l6 U  H" p0 c) W$ I9 M, q5 N本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。& Z4 T! z. s6 n: y" P

    ! D- p3 C% [1 e4 c9 q

    4 A/ ]# C' [" ^- }7 Z% O  a2. 排序搜索结果' ^, I- Q" R$ r. m# [. j% N
    2.1. 按交互排序5 b$ T3 X8 l/ X; U: h9 r
    语法        例子
    4 b% r8 C( \8 J8 _0 s% l6 R) B. A" borg:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
    % ~) Y' @* g9 I! [8 dorg:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
    ) _! }8 ?2 _, N# s: h- {) F2.2. 按反应排序
    7 A/ P* y  Z, @; G: N# ]( A6 I7 X语法        例子& y3 Z* l/ h: K5 q* {+ `6 g2 j- t
    org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
    ' ?4 L# r9 x, F& uorg:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多), Z8 y. I; [, ?+ _  \" b
    org:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
    , D0 x: C# q9 [7 L1 Zorg:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
    ' L% ]6 m+ l, o; d* W+ d% oorg:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
    4 |; _0 n/ }* H9 P+ ?0 ^org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序2 g6 b! y- j  y8 L( z" X
    org:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序1 x8 [; `5 L  Q% t2 D
    2.3. 按作者日期排序( n2 D# x- Q1 [  e
    语法        例子$ y, y# J, Z2 D
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序4 }, {+ f, l$ D+ `
    org:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序) A, x! _- u: Z$ E; A! h3 K8 [
    2.4. 按提交者日期排序
    / X. M# }  ]. |1 G; r语法        例子) M+ J8 Q2 b+ p" H" ]( O( @9 \4 D
    org:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
    ) ]/ E- L0 C: {0 vorg:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序; G) z1 A1 i/ c) J8 o% S1 H
    2.5. 按更新日期排序2 T: [) o7 ~# J6 h! L
    语法        例子
    : i' m7 m0 B/ I2 Z9 p4 Ssort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序
    $ [- i5 J0 @/ _sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序
    . N: l8 S. @7 E% N) C3. 搜索范围
    : U- D# S1 }" g  l3.1. 搜索存储库
    ( l# C4 R0 Z0 c3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    ) x( \# W! n6 S% r/ m6 V$ I9 H, s语法        例子
    / s: G( y9 D& V, Din:name jquery        匹配存储库名称中带有“jquery”的存储库。
    / h3 @; R* ?7 O3 S0 K' y  d2 yin:description jquery        匹配存储库描述中带有“jquery”的存储库。. [# o+ r% D0 |' f$ Q
    in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。* s  z" v5 p" C
    3.1.2. 在用户或组织的仓库中搜索7 \* o* ^2 [$ t) w
    语法        例子! I( i# X# ~3 u; t5 q
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
    : J  G' T: H  E3.1.3. 按存储库大小搜索; }& G  ?& z) D3 v' l5 i5 |9 I6 X
    语法        例子3 h& d/ ~: J6 R+ m1 i
    size:1000        匹配大小为 1 MB 的存储库5 P" U0 X5 I2 ?6 G
    size:>=30000        匹配至少 30 MB 的存储库) `8 \9 T" a. p8 ]1 s- f
    size:<50        匹配小于 50 KB 的存储库  T: Z; L3 N7 M. E. a
    size:50…120        匹配 50 KB 到 120 KB 之间的存储库
    % K6 D) M# k6 N0 d5 X3 P3.1.4. 按分叉数搜索
    ) J1 y8 x. g/ X! J语法        例子; P, ~" J# v: |% m& f4 J. G: J
    forks:5        匹配只有五个 fork 的存储库
    2 u3 G/ U$ x) f: D8 P: zforks:>=205        匹配至少有 205 个 fork 的仓库% z# l2 @# M- ^# C* `
    forks:<90        匹配具有少于 90 个 fork 的存储库" o' F6 p$ Q! E& \2 z# p/ w1 x
    forks:10…20        匹配具有 10 到 20 个 fork 的存储库
    / Q5 F0 S0 p8 b# a8 B& q* H3.1.5. 按星数搜索
    / C- {% T$ M- E9 U. V' p语法        例子
    9 ], b- E' [% `( A( I3 J0 ?3 L  g0 X' Mstars:500        匹配恰好有 500 颗星的存储库
    + E3 G) B; C, ^; j5 vstars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库$ H+ b# a6 q$ O  u$ E1 p5 t
    stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
    / T0 A8 h. B, _) b1 N3 Z4 M5 O3.1.6. 按创建或上次更新存储库的时间搜索
    ( h. R4 D$ m  S5 G语法        例子0 V4 @, Q' i: {9 D) x( @; l
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库
    4 I# s4 G. M9 A: H& zcss push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库4 U& G/ d4 |$ g( X1 s' d/ a- M
    case push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    # t4 N8 V+ o4 A4 L3.1.7. 按语言搜索
    7 V( z) m* q( J. p7 x2 i语法        例子
    9 e$ ]9 V, s, f. rrails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库- u* t  b% o! S8 ~. p
    3.1.8. 按主题搜索
    5 _. @, i: h/ Y% ~6 H; v语法        例子
    1 m1 K9 ^9 Z4 o  |topic:jekyll        匹配已分类为主题“jekyll”的存储库9 g( X7 N. J0 t4 ?# n
    3.1.9. 按主题数量搜索6 \2 s; z" q0 s* G' m1 B' s( k
    语法        例子
    " I  ?4 i: K# a, R$ }topic:5        匹配具有五个主题的存储库8 {) X6 Z" b/ Y( b8 A7 L
    topic:> 3        匹配具有三个以上主题的存储库
    * l3 G$ V1 s- J3.1.10. 按许可证搜索
    8 [5 W/ d% I, q6 f; V2 r) E语法        例子
    & T! ?( Z1 _) f5 q2 k9 a: ~license:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库+ t) o( D6 x; @2 U3 l. L0 A
    3.1.11. 按存储库可见性搜索, o$ ^, u" v4 t2 u" U+ ~- ?
    语法        例子1 T+ \" R, L  K6 c8 ~, y
    is:public org:github        匹配 GitHub 拥有的公共存储库
    ! h+ _$ ]6 c7 z: y' |is:internal test        匹配您可以访问并包含“test”一词的内部存储库7 c$ Z4 O9 d2 d; F
    is:private pages        匹配您可以访问并包含“pages”一词的私有存储库2 S5 M8 B6 Z% i% ^% ]
    3.1.12. 根据仓库是否是镜像进行搜索
    ( X8 u$ I2 @! |; W+ p2 k语法        例子
    9 N+ |( v' C( _; b5 N) umirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库
    / P2 h1 H1 K4 e$ Hmirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库$ w6 m$ @6 P) J% t+ l0 v
    3.2. 搜索主题
    ) _" y3 N$ z9 o# h' Z3.2.1. 使用搜索限定符缩小搜索范围- j/ ?1 I  }& X2 {0 n, @
    语法        例子& i  x2 ~* d0 v/ L
    is:curated javascript        匹配经过策划并包含“javascript”一词的主题4 N% {( k1 t6 W# X5 |! e2 l
    is:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
    # i  r  r: A7 i. q1 o) G, h1 R% `is:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
    , u1 c- `0 E+ Wis:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
    # @0 T4 R2 `- p( g) B6 R7 G' Srepositories:>5000        匹配具有超过 5000 个存储库的主题: P% |6 C, G. r
    3.3. 搜索代码
      |( X3 {- b8 P& G$ s. P序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    * c7 @* {5 B* L$ C" |$ r1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
    ' y, x, g$ ?  K+ q2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
    0 @8 |% y5 u1 z- Q: |0 L% D: v3        仅对默认分支进行索引以进行代码搜索
    5 l7 Z/ R" s2 Q( d1 q* W4        只能搜索小于 384 KB 的文。3 G* k( r9 X" y  k4 U
    5        只能搜索少于 500,000 个文件的存储库2 Y; P1 I$ \. ~9 f  M/ I
    6        只有在去年有活动或在搜索结果中返回的存储库才可搜索
    1 G$ q, ^, s2 E# \) l7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
    , |$ g, Z, p5 E, O; N( i8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
    6 s. v$ j4 J/ U* }+ V8 O9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^9 o' {0 W9 h- p) d- P0 F, @& O- a
    3.3.1. 按文件内容或文件路径搜索% {( _0 \! u* {: ^7 i
    语法        例子! y9 W% ~8 r& V" h0 ~$ {& S2 D1 f
    octocat in:file        匹配文件内容中出现“octocat”的代码3 D7 |& e: u$ V' ?
    octocat in:path        匹配文件路径中出现“octocat”的代码& N+ T* C' {, E0 D" f2 n* B# C
    3.3.2. 在用户或组织的仓库中搜索
      V5 ?8 m" |+ v0 Y# a语法        例子1 c" `) Q( T6 V% {6 j' p7 E# P
    user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码
    0 x% a; j$ s; \) B' Z- `org:github extension:js        匹配来自 GitHub 的以.js结尾的代码
    # f% k' I! ?( {1 d( h$ H- Arepo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码
    * e+ R6 p1 a" [5 X; Y3.3.3. 按语言搜索
    + q& R1 _+ I9 j- |3 M7 e2 Y5 f语法        例子( y3 l% w" H' [/ n# E" n7 l
    element language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
    " o9 ~4 E( w. |display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS
    * L& L2 R! g, A, qorg:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码
    # s' V4 k1 n5 Z+ Y( V4 n3.3.4. 按文件大小搜索& A: i: i$ a' z6 h" [
    语法        例子# ]- M7 Y7 V. O3 p6 h5 F8 z
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
    # ^/ u' t- `4 s( C! b* I+ V  p" t3.3.5. 按文件名搜索: |4 ?5 N; v% r
    语法        例子
    ; G- Y( q% u, `9 B+ }; K9 Vfilename:linguist        匹配名为“linguist”的文件2 q# I( [  b! l, r, l1 W
    filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。  A, u' t: m; o9 x5 {
    3.4. 搜索用户
    + e; _- ~4 _' H8 G0 G  V  W. P3.4.1. 按帐户名称、全名或公共电子邮件搜索
    & b6 P# T3 V  s6 [2 w% p1 D. t语法        例子
    7 C' k6 t- _$ c! _/ W7 f; cuserctocat        匹配用户名为“octocat”的用户
    5 }. l8 v, u0 s( w! @& c: W4 Lorg:electron type:users        匹配 Electron 组织的账户名
    3 C6 }, P, H- y( r) bkenya in:login        匹配用户名中包含“kenya”一词的用户
    . `- x8 {1 p, b- x, D6 ~bolton in:name        匹配真实姓名中包含单词“bolton”的用户) }/ v/ s( Q" Y+ J. X$ u& a6 j7 q
    fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。+ {- o! W- D) k: V' E- V; l: B
    data in:email        将用户与电子邮件中的“data”一词匹配起来8 e. Y3 a" n! b7 ^, y& s! F
    3.4.2. 按用户拥有的仓库数量搜索
    . l8 s. S  Q% f* J5 U语法        例子+ }5 W) I; L6 _7 O3 e' Z" M2 }1 R/ C+ `
    repos:>9000        匹配存储库数量超过 9,000 的用户, s5 M: u! u/ [4 j
    bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户2 y6 q5 h/ s' H1 O
    3.4.3. 按创建用户帐户的时间搜索! i# M8 w6 B7 A4 y' x1 j
    语法        例子6 v& G8 M/ j! H/ U% V# L( H" ?
    created:<2011-01-01        匹配 2011 年之前加入的用户; y0 Y  b. q* ^+ g4 C' J+ [
    created:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户# Z! @# u  R# m5 X8 s- l/ \
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户! \9 R% N4 j; c: c, O  ?
    created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户; g' S8 [+ M- P, Y$ q
    3.4.4. 按关注者数量搜索9 U8 ]( v3 n# I) k+ U$ e1 f
    语法        例子
    7 ]* W% H8 q4 y8 afollowers:>=1000        匹配拥有 1,000 或更多关注者的用户
    : {( @7 u! K' ^sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词5 k5 U7 u7 M9 r9 {- a! ^0 R
    ————————————————% X0 y5 H7 C+ m) m
    版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    / g/ P' m2 a& a! P! r原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
    , Y/ o! }% U- l" z& l
    4 S8 t% m3 b) A- f% J7 j5 [! e+ p( e/ G. ^8 E1 F
    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-11 15:32 , Processed in 0.572476 second(s), 56 queries .

    回顶部