QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3742|回复: 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
    5 T1 R+ Q& ]0 m
    73个GitHub高级搜索技巧$ e4 `5 b5 O  W% t
    73个GitHub高级搜索技巧" c$ A% V8 w4 N* k# A) C$ s
    1. 前言
    - _5 Z' K2 i% @1 t" O1 k2. 排序搜索结果/ Z: \7 F' T9 F1 a. c" @8 B7 S
    2.1. 按交互排序
    # G1 E2 ^8 G) d8 T; ~8 ~% C2.2. 按反应排序. `7 {2 R( K$ R- T
    2.3. 按作者日期排序
    # n) Q3 X2 Q$ Q: ~' r2 q/ ]2 `2.4. 按提交者日期排序' k% ?3 R/ q. B! d9 B
    2.5. 按更新日期排序
    ) \$ S% Y. m9 {: ?( x. a3. 搜索范围+ V* t5 t% o* d% [" f) U
    3.1. 搜索存储库' E* B2 N9 b1 ^) j4 A
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索2 B5 P" l' g' N: j
    3.1.2. 在用户或组织的仓库中搜索
    ' c& S; N! B# g3 J( P: y# o2 U: P3.1.3. 按存储库大小搜索
    4 ?0 }- ?" h$ W% D, }/ k6 |! t2 Y3.1.4. 按分叉数搜索( N$ u, Q' \; m8 F( I" S+ Z. r
    3.1.5. 按星数搜索
    + V- N! u# H7 Z/ N1 e: Y$ o3.1.6. 按创建或上次更新存储库的时间搜索
    2 D1 i# x& }5 K7 F, ~! B4 c3.1.7. 按语言搜索# `1 ~" g3 @* Z
    3.1.8. 按主题搜索
    / K1 k9 z, A7 [# X7 J+ j4 E3.1.9. 按主题数量搜索
    0 H) V2 n# }* P0 A3.1.10. 按许可证搜索
    1 R% Z9 c' x' K2 y: f3.1.11. 按存储库可见性搜索
    ( r# N  t" P* R9 @" {3.1.12. 根据仓库是否是镜像进行搜索. b; ]' g! [4 ~# t/ s/ o
    3.2. 搜索主题1 G/ r* D- R5 l& x8 L3 |" W
    3.2.1. 使用搜索限定符缩小搜索范围
    ; l. \; r8 ~$ b* x. h: t3.3. 搜索代码
    2 @- t' a" v9 r3 u! i. Q/ V2 L- f3.3.1. 按文件内容或文件路径搜索3 z" K0 K9 u7 T+ D
    3.3.2. 在用户或组织的仓库中搜索3 G$ m: ^# @3 Z5 |+ Z! [$ d
    3.3.3. 按语言搜索
    " c2 K( ~& A- z- C& f3.3.4. 按文件大小搜索
    & d( g3 e2 @( X3.3.5. 按文件名搜索
    ) Q9 K; ~+ u7 e/ J- k) y" W3.4. 搜索用户
    9 }0 a3 l* P& X# T. F4 _3 ]; |" {! D3.4.1. 按帐户名称、全名或公共电子邮件搜索
    " W) X* k) ^* w! h* N: @3.4.2. 按用户拥有的仓库数量搜索
    # s6 D4 F; m2 |+ p' |3.4.3. 按创建用户帐户的时间搜索
    / v4 s* B/ B3 o. m5 ^: l3.4.4. 按关注者数量搜索! E& |2 M+ @* n  q  P/ W
    1. 前言6 H  @* F# n& v
    GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
    % c. ?* F8 Q( ^+ @1 i% V/ A' v5 q
    9 T+ c9 i4 @7 z, @) K
    1 O. j5 O3 H& A# ?
    本文参考自GitHub官方文档。6 f" m6 s$ S4 \  }, {) a' K9 p
    GitHub官方文档:https://docs.github.com/en* W9 f+ ?% u. S- \! e# T1 [

    9 C& z( h3 D0 d# [7 x' I( s; @$ G

    - R0 B; B+ F' A# L7 Q! |/ P7 N1 _9 l
    / m! Q1 w/ \! E* ?/ q/ Z! w, T1 y

    9 w5 U, q( ]# j0 i0 G本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。; X" z) {" _/ f( [+ ]6 T# v
    6 {  r/ ^/ w5 p9 x
    & |2 b8 j) `; [9 w# m9 R
    2. 排序搜索结果
    + e1 S, v5 T+ I( a; S9 D. Q# F/ H; M2.1. 按交互排序% ^6 u# u  H: \4 R, u; D$ a" H
    语法        例子
    ' V. z9 I$ h3 ]0 Rorg:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序6 Q/ g. K& k2 k7 l# L. k
    org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序; p# A1 B5 H3 E6 I
    2.2. 按反应排序
    - Z' b; j4 D$ z语法        例子
    / O1 e( w7 ]8 j- Sorg:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
    + e# K7 U, |9 ], T+ borg:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)) j' f, x* s+ ^. \2 _' O1 g
    org:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
    ; v. D' c/ S5 `& }! o1 o2 N0 A7 horg:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
    / ^! v0 ]' W) L% T! _9 y7 porg:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序* n  Y9 D0 ?0 {( z- P0 _" |
    org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序$ U) Q; E4 Q. V
    org:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
    ( J0 A  n0 z* O5 w: J2.3. 按作者日期排序
    3 m4 ^3 t4 A. l语法        例子/ i) h/ f  y% v; t: I8 ^2 n: `
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
    # q& W% B- O2 x7 z5 x; i& f  Horg:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序" s0 d3 B/ L  w& y. U  {
    2.4. 按提交者日期排序3 w5 z9 l4 O5 V
    语法        例子
    ( w7 ^6 ]; k% k2 H% norg:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
    3 \. L" a0 _( Z5 C; f" T$ eorg:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
    / ^: G# U, }7 a2 ~9 \2.5. 按更新日期排序2 d" d3 a$ H" `' `8 e
    语法        例子! n% u. ]6 x$ b7 M
    sort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序
    ' m1 F7 g8 X. p0 Fsort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序
    ( q! j/ Z, e0 g  q" a4 B3. 搜索范围
    * P. b: g& S/ T, [. K3.1. 搜索存储库5 r3 B2 V. i7 K( G# k
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索7 h$ N( _7 t  W1 N: _
    语法        例子9 @7 N" t* _/ l# z- t2 v
    in:name jquery        匹配存储库名称中带有“jquery”的存储库。
    , }1 E7 f/ n1 M8 x: h. U9 Z8 Win:description jquery        匹配存储库描述中带有“jquery”的存储库。, Y" n5 |* P$ q; ]  N; F
    in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。; g8 K: v( D5 b6 l8 C4 w3 i: F8 I+ X& o
    3.1.2. 在用户或组织的仓库中搜索
    0 c' q9 Q( j, ^& V2 `/ x语法        例子" A% X/ H* E" Q; T# Z# l( K  [
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。2 C& ]8 d: a8 q7 ^* g* P2 [
    3.1.3. 按存储库大小搜索
    + \2 E6 T& q! F语法        例子3 Y: Z2 E8 \8 n& V0 o8 L8 q
    size:1000        匹配大小为 1 MB 的存储库
    ! |- _/ u+ p! @* P4 c4 {size:>=30000        匹配至少 30 MB 的存储库
    7 j  [2 {5 n# ^$ @6 s% i9 Ysize:<50        匹配小于 50 KB 的存储库0 n5 E; _' T9 c2 C# s% w% ~
    size:50…120        匹配 50 KB 到 120 KB 之间的存储库
    ! x; p) y- M2 m" H3.1.4. 按分叉数搜索
    ( T, l2 F! x& {. R- l3 I6 {语法        例子- ?" e5 i0 X7 S4 h7 }0 F# y
    forks:5        匹配只有五个 fork 的存储库
    4 C" i/ K, |& h% Gforks:>=205        匹配至少有 205 个 fork 的仓库, F, R- B4 D2 x- ?
    forks:<90        匹配具有少于 90 个 fork 的存储库  ]% G6 p( n8 m. U
    forks:10…20        匹配具有 10 到 20 个 fork 的存储库
    5 I3 d# k! ~8 v+ w% `3.1.5. 按星数搜索
    # n9 @( a* F- z- d4 E$ m. L语法        例子( j- J  k( W8 n
    stars:500        匹配恰好有 500 颗星的存储库
    5 h. q! I/ n) Q& Ystars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库
    7 H; i6 E! v% o) q9 [$ W$ ^& n% dstars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的( Q2 l: Y( q  `5 f# m) I- E; F  n
    3.1.6. 按创建或上次更新存储库的时间搜索. S6 ?# E" D1 c0 N: J+ k+ ^
    语法        例子+ O# v6 a9 b' B5 b# \" o( l
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库" W) i, q# E3 C3 v8 l5 ?% n
    css push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    6 ~: _0 [8 A$ o) r: ]" zcase push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。* o: ~( }+ `3 @" y% w$ D8 a: Q
    3.1.7. 按语言搜索
    3 h3 Q5 C! C3 |2 J# @4 E语法        例子$ d: z1 f8 K' ~3 Z7 D4 e3 u4 K  @. a
    rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库
    ! {2 p8 s; _$ R) S* h3.1.8. 按主题搜索
    ( b5 r& V+ m+ G' ^% {, o5 p语法        例子" J' Y, [" S: H% {* S
    topic:jekyll        匹配已分类为主题“jekyll”的存储库& ~5 g0 P1 f- }9 }
    3.1.9. 按主题数量搜索, t- X3 q$ `! Q. _: K) p2 m% E1 ]
    语法        例子
    # u2 ~- o* D2 `- a0 u% }topic:5        匹配具有五个主题的存储库
    9 ~7 C# s1 r: j6 T2 wtopic:> 3        匹配具有三个以上主题的存储库. l/ L6 y2 I8 Z0 Y9 i1 K
    3.1.10. 按许可证搜索. J; R% F8 H- u5 {8 F0 k
    语法        例子
    1 C& O2 t2 Q  X1 ulicense:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库  P/ @  T2 |5 l6 f$ K5 l
    3.1.11. 按存储库可见性搜索
    / G" c% A# w1 N, Z9 G5 f语法        例子
    7 ^; C+ S  @9 R: J9 m! sis:public org:github        匹配 GitHub 拥有的公共存储库
    - V. {+ e. Q# ?is:internal test        匹配您可以访问并包含“test”一词的内部存储库- }0 T8 [* H( I6 F3 ]
    is:private pages        匹配您可以访问并包含“pages”一词的私有存储库
    ( _; ]. D5 f3 ~0 D; E5 G3.1.12. 根据仓库是否是镜像进行搜索% ^5 S$ G5 [5 @# m6 w6 Q& |
    语法        例子
    , L. l* U7 x8 E- Lmirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库
    / d) m6 ?) I" a: r" `- q) @mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库
    : N, T! S' j* H: e4 A. {3.2. 搜索主题
    8 z; q0 R' s0 B3.2.1. 使用搜索限定符缩小搜索范围6 a6 q% c" G  C  ]0 X$ G
    语法        例子" l+ U+ n1 D! ~6 L6 r5 S7 s
    is:curated javascript        匹配经过策划并包含“javascript”一词的主题
    ( q1 R8 E, F3 T4 v7 E# w9 r% Eis:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词2 {" A# x$ o1 v/ r7 f  |
    is:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题6 q0 ?0 l. k$ d1 d- c
    is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
    0 H- l( j( [2 H# F5 vrepositories:>5000        匹配具有超过 5000 个存储库的主题
    ! B* K/ f1 A4 N8 A- |2 @- l3.3. 搜索代码$ n9 X: z4 o+ L# e, n- ^9 D0 ]( o
    序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    # z% Q( r2 `0 n1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码) B% s# e( ], J6 A. ?+ \5 i
    2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”1 z, _; q/ z- [6 I
    3        仅对默认分支进行索引以进行代码搜索
    & F" n- r( T/ C8 R. y( [; Y4        只能搜索小于 384 KB 的文。1 x' e: g. e  x  `3 e$ i
    5        只能搜索少于 500,000 个文件的存储库2 H, U; k# K) u! H
    6        只有在去年有活动或在搜索结果中返回的存储库才可搜索# @1 f! d8 l8 k
    7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript3 _+ A: p9 s1 V3 `
    8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果  E/ W, x* I' z5 ^& K+ r
    9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^1 W4 z' O/ T, w( M, P6 j% n
    3.3.1. 按文件内容或文件路径搜索
    4 i" P2 }0 u5 Z语法        例子
    . R9 i8 @; Q3 L! T2 Coctocat in:file        匹配文件内容中出现“octocat”的代码
    0 B" H; A# g* b: E5 `octocat in:path        匹配文件路径中出现“octocat”的代码
    : n  l& p( ~) S4 l- Z! S3.3.2. 在用户或组织的仓库中搜索
    6 S! D( x, @% k2 Z$ o# N2 J语法        例子7 Z/ s! W2 h- L) I1 D% \; \
    user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码$ e+ O# p3 [+ U6 ~" S
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码
    " w# M# m3 {8 S* ~. e0 n* ]repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码
    3 o. S% q8 x3 j) ]3.3.3. 按语言搜索
    ! Q; O& j' f" ]* b3 z) D* N8 u  Y语法        例子
    9 Y! ]9 Q+ ^' N: eelement language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码. B- b" \, Z6 o- Q( @+ w: n
    display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS' e. c2 d' g, |9 q% V
    org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码
    % d4 V6 t* P, y1 S1 g, D3.3.4. 按文件大小搜索
    0 h; k% ]* _4 `. F8 V; Z语法        例子1 R* E  U- [3 B' H4 l2 \) ]
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码0 o$ m6 _( Z& I; A( C
    3.3.5. 按文件名搜索" n% T' l0 i9 h
    语法        例子
    1 `, s9 t' l/ ]6 G  t9 v' I' Wfilename:linguist        匹配名为“linguist”的文件5 r  z: m/ B9 H! Z9 c9 j' @
    filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
    $ ~+ B' P0 l" z& G+ z3.4. 搜索用户2 p$ `  U  N. Y6 y' i' }
    3.4.1. 按帐户名称、全名或公共电子邮件搜索# M$ W0 `: ~' Q
    语法        例子
    , t  o% |0 b; ~4 v5 a: |userctocat        匹配用户名为“octocat”的用户
    8 c" [& b3 P6 G, I/ W8 n# worg:electron type:users        匹配 Electron 组织的账户名
    $ q6 x3 t1 c% `8 J9 m# rkenya in:login        匹配用户名中包含“kenya”一词的用户
    : f0 \1 v0 C" d9 u1 Z2 Sbolton in:name        匹配真实姓名中包含单词“bolton”的用户- a) b( Q5 p- M0 K" B8 O/ w9 M
    fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。* M+ f9 o( `$ T; l
    data in:email        将用户与电子邮件中的“data”一词匹配起来
    - r# ]7 g# E+ o6 n! b! {6 B4 p3.4.2. 按用户拥有的仓库数量搜索
    - T& R' G0 k( `' [' p, W% f* @语法        例子
    ! m1 L) s( ?" e9 h5 h, D' grepos:>9000        匹配存储库数量超过 9,000 的用户+ G9 R; N  V  s$ S) U
    bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
      w5 V3 c* O& g, x9 ]3.4.3. 按创建用户帐户的时间搜索
    0 S4 Z3 O0 z, D6 U语法        例子
    1 `0 D' `: i& t9 e, Z6 dcreated:<2011-01-01        匹配 2011 年之前加入的用户
    + }% C* d6 o) p: Acreated:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户- |  G  Z1 Z: j) V% r( i! t( V
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
    ' \& z6 R; d! I. gcreated:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
    + H( I3 o" X5 C. E3.4.4. 按关注者数量搜索
    ; m( y$ f/ X9 o# |语法        例子
    / ]* L( J/ b( m# m1 D) b! sfollowers:>=1000        匹配拥有 1,000 或更多关注者的用户3 F7 L) s8 l# s  r* U
    sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
    6 Z. ], }6 F4 e  y3 U- ?" _! w8 j————————————————
    9 g% L0 F, }5 w1 \/ M版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。( s) z  ~# I- j
    原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
      C) D3 t2 x" c! t; g$ V) I9 c2 l$ H1 d( X, p6 y8 i
    8 Z4 c  A  q. i+ O- T% q
    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-6-20 14:42 , Processed in 0.456353 second(s), 57 queries .

    回顶部