QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3706|回复: 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 [/ o, r- \* a! ?7 A73个GitHub高级搜索技巧  f- _2 i7 s6 n1 e3 N
    73个GitHub高级搜索技巧
    - m' K! F( R& ~& K/ W) q9 i1. 前言. ^% f- \& c- m+ b" M4 b+ c
    2. 排序搜索结果& f6 _) I2 `( B4 V6 a' d9 n
    2.1. 按交互排序* \: z+ {* R# ?" h) J( m! E) o
    2.2. 按反应排序
    ! ^- ]8 V+ y) i* o7 t  v2.3. 按作者日期排序! z% x" n. x/ R: B3 X, u
    2.4. 按提交者日期排序) O9 E% s0 r$ K3 Z2 L3 ?
    2.5. 按更新日期排序9 A; F6 Q# X! z& e+ Z
    3. 搜索范围
    $ l, t' Y, J7 I5 `- n5 M' a9 z3.1. 搜索存储库
    # R8 Y) r9 ~( L4 v3.1.1. 按存储库名称、描述或 README 文件的内容搜索$ {% `! c+ e, m) Q5 F* b& b0 L
    3.1.2. 在用户或组织的仓库中搜索
    ! g: u- i& R0 l  X: L9 X1 \" v3.1.3. 按存储库大小搜索
    ' W0 }6 Q! d1 B  _* @* W! r& d3.1.4. 按分叉数搜索
    ( Z- Y+ n) J# z3.1.5. 按星数搜索
    9 A' T& X( \  Q6 W9 v9 z! L5 J0 J0 h3.1.6. 按创建或上次更新存储库的时间搜索" e" h& [$ Z6 @" O" h! _. _
    3.1.7. 按语言搜索5 q; X5 z' X$ ~5 y$ ^
    3.1.8. 按主题搜索
    & v5 c0 J5 `% T( b6 [3.1.9. 按主题数量搜索
      O5 Q6 \: F$ C! ^- J& z3.1.10. 按许可证搜索
    0 ^/ q' ?& J" w6 V& D  _9 y3.1.11. 按存储库可见性搜索# E; M! k3 J# {0 o* f# n
    3.1.12. 根据仓库是否是镜像进行搜索* |, R- N! z( Q" r" i8 J$ J9 k
    3.2. 搜索主题* u3 }' i" Q. S' z6 |) C) e& I
    3.2.1. 使用搜索限定符缩小搜索范围8 N+ C9 j% x# r* m
    3.3. 搜索代码
    3 t6 `5 m& i( X8 F+ ~% @3.3.1. 按文件内容或文件路径搜索
    # y4 g7 {" Z4 V* k7 e) M+ P; ]& F5 g9 s3.3.2. 在用户或组织的仓库中搜索
    9 m; q0 [3 e! ~) r' D1 y. w3.3.3. 按语言搜索2 H4 j* W9 O! [& Y
    3.3.4. 按文件大小搜索1 W4 x; n* I" ]& |
    3.3.5. 按文件名搜索8 D& F- a6 e$ b
    3.4. 搜索用户% r0 X+ w0 b; ^- S4 g% V4 A9 P
    3.4.1. 按帐户名称、全名或公共电子邮件搜索9 \+ ?2 X, V; Y7 {2 F
    3.4.2. 按用户拥有的仓库数量搜索
    % D' N& i  B$ [+ v' ]9 e3.4.3. 按创建用户帐户的时间搜索
    7 ~0 ]) S+ Z' }, j: s3.4.4. 按关注者数量搜索
    : B$ v& N+ t. ]  N1. 前言9 i6 z+ H, w2 A* P1 B  b2 n
    GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
    7 Z0 l7 Y/ ]0 L$ I4 @4 p( x2 i5 N6 ]  Q) l

    , p( Q) X, f* w* n4 [) g& ]本文参考自GitHub官方文档。
    $ E& F2 J+ j3 e* F  B/ DGitHub官方文档:https://docs.github.com/en
    , P% S' J4 Y1 N; W: c1 M* L& }0 p" ?  y" l2 {- Y/ `
    2 p" S- P' h3 |  M% I

    ( T9 ~  z0 p& L% ]* y& ~4 _
    ( ^/ v4 W; Z3 i* Y
    本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。
    : F, J5 M5 b4 n: N- A& I2 I
    7 ?/ H# |* r* l" b. [9 c
    1 G( V' l: R3 G
    2. 排序搜索结果
    & q  o) c# V5 ^  U. ~2.1. 按交互排序
    % f& m$ S" ~2 K; k语法        例子
    6 g/ p- v' a) @% c# B8 R  ?org:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序0 P$ h4 f5 _. s' ^! e! w3 ~5 R
    org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
    9 ]* O5 e, L  @4 G2 \2.2. 按反应排序
    ; G( v( q; `  s: G/ f语法        例子& p& Y; t+ J2 X& a& G
    org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
    + i5 h4 i# I) n& Xorg:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
    2 m: ~% [8 Z) A* korg:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
    , x0 U9 Q( ~, U& gorg:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
    / F% d6 D1 Z" l: Corg:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序4 F6 z  n9 h% k  c, r
    org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序! M6 P6 P$ `% N. t8 S) W  g  T" ?
    org:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序4 `5 n4 C6 l$ i9 _* [: x# h
    2.3. 按作者日期排序# _' W  Y; Q/ A2 g) V4 _8 b
    语法        例子. {5 \9 F' N2 v0 e9 ?- }0 S, {
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
    + m+ D" {# A' Zorg:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序0 S5 U* Z( Q' d2 x
    2.4. 按提交者日期排序
    3 R$ z  [! x9 v' Y5 N' S语法        例子
    $ `8 [0 u, N* eorg:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序& ^' V+ _1 o# K1 k4 G+ U% q
    org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序+ o' @! e# S6 {0 f$ N: e' S
    2.5. 按更新日期排序4 @: F$ O3 a7 |
    语法        例子2 N' w0 K  m4 X4 m  r
    sort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序
    , u- [; Y2 g# }( e& F0 }sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序* ^" k0 m* x5 \
    3. 搜索范围( b& O6 \$ A: g* U
    3.1. 搜索存储库
    0 G7 Z8 u2 F  T0 e6 F$ X3 m: _% N3.1.1. 按存储库名称、描述或 README 文件的内容搜索+ C4 ]9 E$ U$ I9 ~! O& B
    语法        例子
    ) f! M* }3 c5 L" j2 d' r# c3 s: \  win:name jquery        匹配存储库名称中带有“jquery”的存储库。
    ; f4 q. \2 k. i$ kin:description jquery        匹配存储库描述中带有“jquery”的存储库。
    # I* a5 ?2 W( \+ ]# a! B1 }in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。& e1 f0 V. _. ?- T( M1 |. F3 k
    3.1.2. 在用户或组织的仓库中搜索
    0 h) h% y; z( ]. p, X9 U9 h2 t语法        例子% C, A9 P& {" D
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。( i4 O) O- c4 s$ q1 n1 E
    3.1.3. 按存储库大小搜索" B; o  [1 S3 T! P9 @9 s6 ^
    语法        例子/ m8 w  D* U; k* a; \8 [2 h
    size:1000        匹配大小为 1 MB 的存储库$ u; t/ y9 @5 w) a  F; o  D
    size:>=30000        匹配至少 30 MB 的存储库
    9 a( ]* B& @+ N$ F3 @" bsize:<50        匹配小于 50 KB 的存储库  U0 O9 @! e6 G( f1 C
    size:50…120        匹配 50 KB 到 120 KB 之间的存储库5 [6 v: f4 n& C+ ]" M% H: W! `6 H
    3.1.4. 按分叉数搜索, k; s4 S- i0 C5 J
    语法        例子( s# K- z6 l  y- \1 b! `2 y* H
    forks:5        匹配只有五个 fork 的存储库
    1 a9 E9 T( \% hforks:>=205        匹配至少有 205 个 fork 的仓库
    4 w# m+ h2 K$ A. G+ n3 y/ Zforks:<90        匹配具有少于 90 个 fork 的存储库
    , N$ l* I" P3 R2 i! n, I5 @* {forks:10…20        匹配具有 10 到 20 个 fork 的存储库
    3 n" P/ T4 E  k( N) R3.1.5. 按星数搜索
    & ~7 K# Z, l) L4 k+ a* v7 L语法        例子1 b) f8 M5 b/ D( w0 M
    stars:500        匹配恰好有 500 颗星的存储库' c3 T/ C4 C: B( C# q% X% l
    stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库
    & Q  K# R9 t) ?9 `: j* Istars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的4 Z* A' M! j+ J! J) D
    3.1.6. 按创建或上次更新存储库的时间搜索
    ( Q, u1 F+ F* O2 i语法        例子
    ! x: n2 D. p6 j1 M8 y# Gwebos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库
    5 @5 X$ ~( t$ icss push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    ' b( J) K) i3 icase push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    5 l3 H1 t+ [# `: j8 n" h3.1.7. 按语言搜索
    1 X' G" O+ u: g语法        例子& ?1 k9 S8 h+ c0 f; n2 ?* q$ \; `
    rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库
    8 F* x. V5 R; Y! u: i3 H3.1.8. 按主题搜索! \* S5 E2 S% d  |! @2 t: x; E5 u
    语法        例子
    3 V# J- n" i0 B! B/ b3 t- K( Htopic:jekyll        匹配已分类为主题“jekyll”的存储库
    2 ]0 ~$ P3 m& M! V$ q  }( G$ \3.1.9. 按主题数量搜索- h; F/ V+ C0 Q% b# y4 z4 o
    语法        例子; B/ v+ |6 E. i7 D4 h6 s$ |
    topic:5        匹配具有五个主题的存储库2 a5 k% ^; F( c% @
    topic:> 3        匹配具有三个以上主题的存储库
    5 M6 D  S! P* ?3.1.10. 按许可证搜索# s; `6 W! v+ N1 _
    语法        例子$ x& ^" x3 o& q" W0 m/ H$ Z3 J
    license:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库2 h6 d! \+ q( y0 I8 D6 o
    3.1.11. 按存储库可见性搜索/ K) K9 t* s/ n
    语法        例子- J% a3 ]# I# d% w
    is:public org:github        匹配 GitHub 拥有的公共存储库" E' m6 g; R0 o, C
    is:internal test        匹配您可以访问并包含“test”一词的内部存储库
    . p8 h0 |8 W; A( r& y0 e! ?is:private pages        匹配您可以访问并包含“pages”一词的私有存储库
    1 P) G6 y0 n; e* k: i4 c: Z3.1.12. 根据仓库是否是镜像进行搜索
    % N7 p5 x6 ]9 _4 h1 Z语法        例子
    6 j8 w/ \: L+ x9 R6 O3 Q& Lmirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库6 R4 j' Q. m$ v3 S7 m
    mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库
    - @1 O! A- {+ b# F+ i4 Q* f8 p' Y( Q" \3.2. 搜索主题6 v/ D. x" A7 M( E# }
    3.2.1. 使用搜索限定符缩小搜索范围
    & R2 q6 _7 b% ]7 M- M语法        例子
    , c1 f% o+ C2 a( g* i# p6 ~is:curated javascript        匹配经过策划并包含“javascript”一词的主题# L$ a/ B; Y  ]" }
    is:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
    # ^& U+ |" y( p3 t5 z/ t) y6 @: Vis:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
    ; x! O+ Z& o0 U; g2 }3 _is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题6 [& V) z1 x. y+ b
    repositories:>5000        匹配具有超过 5000 个存储库的主题2 {0 P+ b  R  P- R- B/ p$ J0 c+ ^
    3.3. 搜索代码
    , Y& V0 I4 n4 ]# f8 ^5 u序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    5 i, \. A* x9 C3 T  I1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
    , f8 {! A  p, e' {; N8 p2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”7 B1 n6 f* ]$ e% }/ p! W* R$ v
    3        仅对默认分支进行索引以进行代码搜索
    . L. ~- G* `5 X; ]4        只能搜索小于 384 KB 的文。$ U& H1 N/ N) W# X
    5        只能搜索少于 500,000 个文件的存储库. T2 ]" e- M1 Q( Q/ i
    6        只有在去年有活动或在搜索结果中返回的存储库才可搜索
    ) h, r2 L3 J' W6 m# R7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript+ }7 d; Z% }" S" |- D8 t. d
    8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果( J, t  c$ t6 s9 x  d
    9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
    ' E3 H6 {" {: Y9 J& A3.3.1. 按文件内容或文件路径搜索& D* @, R' H6 _9 a( i8 S
    语法        例子; |  L- O2 I: I, Z% w8 A$ r: [
    octocat in:file        匹配文件内容中出现“octocat”的代码$ t: @8 J, J: @# R) w
    octocat in:path        匹配文件路径中出现“octocat”的代码
    ' y0 X4 J1 W) a' z6 K3.3.2. 在用户或组织的仓库中搜索3 D. `# Q/ X- v5 l' _5 Y  T
    语法        例子
    1 J+ M7 G. s+ t! j0 ^% x+ k6 {user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码% a- I' {& W1 t# ]- X8 O4 x: _
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码) o# ^& O9 \2 [# t0 P, b
    repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码
    . t& J5 c( L. ~: X3.3.3. 按语言搜索
    1 H: l* b/ h8 v; q+ r( y6 H语法        例子
    , ?" n" Y4 ]: O7 {- N8 S# lelement language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
    & e9 Q  E9 z9 V% H0 i* d9 q  pdisplay language:scss        匹配带有单词“display”的代码,它被标记为 SCSS
    7 M. L  v. W3 c6 qorg:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码
    # u3 r: C* d7 t& W2 s) f3.3.4. 按文件大小搜索
    + c# `+ y$ e" r* d! W$ _语法        例子4 c1 x1 R0 y0 T& T7 r* s" ]: H# v
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
    7 m  Z7 \% m- ^. Y; v& S3.3.5. 按文件名搜索
    8 N- X% e" V, s# |0 ^2 f& o语法        例子
    / ?) M+ b/ b3 |filename:linguist        匹配名为“linguist”的文件
    ( i0 t2 p% o2 Pfilename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。8 D' d  ?& D" x; i- ^2 |9 N" A* k
    3.4. 搜索用户) _3 `0 ~& y9 a( z8 D
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
    8 c6 q7 W+ [- u' _8 R3 P! T, \语法        例子+ D3 j# Z' _) h" z1 A* G
    userctocat        匹配用户名为“octocat”的用户
    1 H3 B6 a* X+ S2 w/ v/ Borg:electron type:users        匹配 Electron 组织的账户名
    . `/ x: R0 F  B) j3 @9 N1 t& s8 zkenya in:login        匹配用户名中包含“kenya”一词的用户1 Q  d$ L. w  a' ^8 ]7 Z4 Y
    bolton in:name        匹配真实姓名中包含单词“bolton”的用户
      [; a9 s! B0 ], M2 Wfullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。9 S; e& l9 B( i/ n2 s
    data in:email        将用户与电子邮件中的“data”一词匹配起来5 P. b$ ]! L! K$ |+ V7 z' G: d
    3.4.2. 按用户拥有的仓库数量搜索# Z- t- @$ A' b# X& |9 t( h; ~# L
    语法        例子. N& `  A8 x- S5 F; N. y
    repos:>9000        匹配存储库数量超过 9,000 的用户
    6 ~! m' \8 t+ U8 I3 h; lbert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户0 ?9 b) J) |) S( i/ W# }
    3.4.3. 按创建用户帐户的时间搜索
    " `6 v4 X9 P3 g' I# h  W1 U语法        例子
    2 l0 v5 Q& o' M; Ncreated:<2011-01-01        匹配 2011 年之前加入的用户, @/ W; n1 B4 S) G" L+ r
    created:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户  G. w" @# O9 m; l6 e, G. i: r
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
    , K9 _' R' E, f6 dcreated:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户7 {  X! T& ^( l6 a3 ]
    3.4.4. 按关注者数量搜索4 \% g7 L# b" D  F, B
    语法        例子
      y1 Q# \. F' z4 E' ^+ rfollowers:>=1000        匹配拥有 1,000 或更多关注者的用户
    2 ~, B3 J1 N+ V7 Y- R0 m$ Zsparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词: Z7 N' [) S1 K* V7 N, H5 ^
    ————————————————
    # w+ t3 d1 p7 R版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    7 V# G7 _. L. Y2 c+ d+ j原文链接:https://blog.csdn.net/PaperJack/article/details/1185439809 S9 _  X; W: `, n$ b
    ; G4 Q$ c8 @, W: P

    * I+ u3 K( O, W0 v; K$ c
    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-10 15:03 , Processed in 0.312624 second(s), 56 queries .

    回顶部