QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3743|回复: 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
    ! F8 r, ~7 `& s6 A. ?- t0 s9 q
    73个GitHub高级搜索技巧6 O: ^  u5 t- P; `1 Y1 z
    73个GitHub高级搜索技巧6 L. [& e- c2 J+ d. Y
    1. 前言) O' I8 Y1 ^$ }% V& M( d9 Q
    2. 排序搜索结果) b2 D0 M: @, s  O2 R7 o1 p8 y
    2.1. 按交互排序  ]2 k7 J, I$ g! M: n9 q! {( S! F
    2.2. 按反应排序8 d' v0 `0 A5 Z+ D$ \& f" }7 x4 `
    2.3. 按作者日期排序
    - _9 j9 M/ n' E$ t* l) S4 A% }2.4. 按提交者日期排序3 G- ?8 G: y% v0 U! m
    2.5. 按更新日期排序3 S$ D& N: ?! i- t" _4 J9 o2 u
    3. 搜索范围6 H* t' K/ b! F' G# p
    3.1. 搜索存储库
    4 b6 R8 w0 g7 t8 ^5 u$ _5 ~9 m3.1.1. 按存储库名称、描述或 README 文件的内容搜索' |" [# [& ~7 l3 y' i
    3.1.2. 在用户或组织的仓库中搜索% ~1 X6 p2 _% h. C
    3.1.3. 按存储库大小搜索2 `8 E+ R" k1 m, }- F
    3.1.4. 按分叉数搜索  a9 H" Q2 m9 P- J( l; v
    3.1.5. 按星数搜索
    , i' X' Q% K5 q+ j) l5 X3.1.6. 按创建或上次更新存储库的时间搜索$ U. l. d5 ~8 L$ B+ R
    3.1.7. 按语言搜索
    0 T% v' @/ T! t# r/ N8 U- P6 g3.1.8. 按主题搜索4 ?, _; K3 @0 t
    3.1.9. 按主题数量搜索
    " l1 B% x- t$ C3.1.10. 按许可证搜索
    1 x, p0 U8 z2 B3.1.11. 按存储库可见性搜索
    * H6 L, c3 i: Z% Z8 P' m4 y3 L/ c3.1.12. 根据仓库是否是镜像进行搜索5 y0 F- f, Z! u/ C/ i; Q6 h6 @+ _9 a
    3.2. 搜索主题1 u) ?4 R* b) P, y: f" J& t
    3.2.1. 使用搜索限定符缩小搜索范围
    6 I$ R& i# ?! @3.3. 搜索代码
    * J7 x; g3 y) L7 H# b3.3.1. 按文件内容或文件路径搜索
    0 m: x) K4 @: D" Q" M0 q3.3.2. 在用户或组织的仓库中搜索- G8 v# n, {; }0 q* t6 m/ Y
    3.3.3. 按语言搜索2 n; w- ]( }6 g% n
    3.3.4. 按文件大小搜索" v- a, i) N. ?" L3 I2 ~/ ?& i. L5 X
    3.3.5. 按文件名搜索6 e* \$ P: L' U( p* [* @
    3.4. 搜索用户4 A2 Y. Q- o1 S, z! |3 E
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
    7 m) B- H/ i3 U. K' M3.4.2. 按用户拥有的仓库数量搜索
    & \! `2 t8 Y& w; T" Z$ ]3.4.3. 按创建用户帐户的时间搜索
    6 c2 G  z0 O  k8 z1 I' ~) |0 R$ ~3.4.4. 按关注者数量搜索
    - o4 ?8 {; m  y" t/ N0 Z4 c1. 前言' T& x" _' R" k& e( t, r4 Y% l
    GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
    . A$ e  J; p( Q! ]0 l
    & T! r# t+ m9 r# |( ~4 W( U# b

    0 J( o: _) O6 f; G6 D本文参考自GitHub官方文档。1 l. @. E, H1 b( T1 `- A
    GitHub官方文档:https://docs.github.com/en
    7 y' M# f9 d, M5 i
    + S# p& C! _1 I- T' x* D

    5 r% j9 X, k7 T; ^1 C+ R( |9 s7 i

    # f1 r1 T5 r7 s3 H; ~' T本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。! [4 S& N2 V8 ~  f) Q5 u) w
    % d( a2 o6 o# w2 w8 X

    & s! t( J: t- ^" O( b* r* T$ |; q2. 排序搜索结果% A5 ~( s) n) C2 X( u
    2.1. 按交互排序
    % T* p+ \6 c% W& O% g; z语法        例子, I3 `/ I; L1 _' o& ]3 U" D
    org:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序! i* N# R, a1 C, e" _& m9 b
    org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
      h/ Y2 G( V8 ]3 y0 y7 F2.2. 按反应排序
    * v& K- c0 `- b! e9 E& I语法        例子
    # q3 ~4 |+ Z) Z# h' D* t7 Corg:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
    / r' g- F0 [6 z( O$ b; Morg:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)% z8 l$ u* Q3 G2 M6 q5 _6 i) s1 m2 p
    org:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序6 e9 }7 E: E: y
    org:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
    % k7 S4 k8 [1 \/ W; Z& Corg:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序; ]& `) x2 T% n1 l
    org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
    . g$ m9 k, R9 W7 }) j9 Yorg:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
    , y7 b  L# S6 y  g5 ?2.3. 按作者日期排序
    , |4 g6 H7 k6 f6 R# S* I7 P语法        例子* ?8 }( F; l9 {( O
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序# I% e3 j, K  {* L
    org:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
    ' C3 w2 v$ N) {% r2.4. 按提交者日期排序
    6 Z2 Z6 I6 q+ A# I, V. H% @1 \3 f4 a语法        例子
    2 t. g% m) B" W+ R5 h: i0 ]org:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序; ^$ E% ]$ N, P1 O
    org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序/ w# o6 T4 E8 x/ ]4 m+ b
    2.5. 按更新日期排序/ M* G5 v- w5 j6 _9 N8 k; x
    语法        例子
    ' B% S, q! S" x( U4 c8 osort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序9 `. ?2 }% i4 u7 G# K, \1 T9 U
    sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序$ N+ T3 b8 w3 y1 ?7 J+ b  d& l% [& y
    3. 搜索范围9 ~- v  ~. r2 r4 W6 n; [# Y
    3.1. 搜索存储库
    5 ?, C% m. X0 _2 o* o3.1.1. 按存储库名称、描述或 README 文件的内容搜索2 B( |- f, j' I* ?. u$ `+ |9 i
    语法        例子
    7 r1 u' A/ M* `+ C2 Qin:name jquery        匹配存储库名称中带有“jquery”的存储库。
    1 ^: k1 B7 Q, Sin:description jquery        匹配存储库描述中带有“jquery”的存储库。
    : G  r, ?% \  ]' y* ~( fin:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。+ A! m4 w7 L1 X6 Y
    3.1.2. 在用户或组织的仓库中搜索& c" s8 G/ e! J8 n3 T+ W& H3 |
    语法        例子/ d  c3 @7 D0 L5 v
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
    4 R& i/ O0 W. ~3.1.3. 按存储库大小搜索) k  h4 F3 G, e& |
    语法        例子
    1 b* n. W. t, @2 |( Jsize:1000        匹配大小为 1 MB 的存储库
    ! D. R/ C0 o, x# Hsize:>=30000        匹配至少 30 MB 的存储库; |; V' j4 P0 e! Y0 b  t
    size:<50        匹配小于 50 KB 的存储库
    7 z$ e6 v& ]0 f9 u4 ksize:50…120        匹配 50 KB 到 120 KB 之间的存储库
      |+ I+ Y! y; v" q3.1.4. 按分叉数搜索
    ( R6 K( R" F$ E# ]) K语法        例子
    - K! B8 a* ?4 E5 y% R, fforks:5        匹配只有五个 fork 的存储库
    # m' A5 d  Q& d/ L  S* ]. W! G1 u! ~forks:>=205        匹配至少有 205 个 fork 的仓库4 ]+ u/ ]6 z* }, R8 }  i- ?
    forks:<90        匹配具有少于 90 个 fork 的存储库
    / K; i7 w. Q9 Uforks:10…20        匹配具有 10 到 20 个 fork 的存储库+ ?$ T  d" M4 z( d: p
    3.1.5. 按星数搜索
    6 i! q& U) C& U  h7 E2 ~& U8 Q" F" D语法        例子* a3 L+ N0 A. L* k. ]/ O% r: k( E
    stars:500        匹配恰好有 500 颗星的存储库4 }  |$ |, g; I% b( [
    stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库  s, \, i+ p4 p3 ?: i
    stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的. X. ~& ]  B% b) ^8 @: b% e7 \
    3.1.6. 按创建或上次更新存储库的时间搜索1 S: f+ h  V( i
    语法        例子0 j% f0 t) T  s1 \6 p- C
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库5 Q2 p) u+ p" F# X5 n/ T
    css push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    , K, d1 ]0 \/ Wcase push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    0 b! }" T: w0 h3.1.7. 按语言搜索: f$ j' @3 E) y) X: d! l8 h( R
    语法        例子' c' ^. v: r9 v/ L; g% k
    rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库+ {+ k* S) _* J) V& N
    3.1.8. 按主题搜索
    7 B: I% s- x) T语法        例子1 z- C7 ?' N* O& V8 c* ?
    topic:jekyll        匹配已分类为主题“jekyll”的存储库7 I$ B8 V! o0 V% j* Z
    3.1.9. 按主题数量搜索. Z7 t3 t7 U8 f' C2 X& `& Q& Z
    语法        例子
    + d8 @: }# p' G, Vtopic:5        匹配具有五个主题的存储库/ [% L5 U7 m5 x: U2 s
    topic:> 3        匹配具有三个以上主题的存储库8 ?# S  b% ~2 }
    3.1.10. 按许可证搜索/ I$ P. Q9 ]2 H$ {
    语法        例子
    & n* L9 }- h6 b; U  i7 Flicense:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库+ a+ F# J. b' n4 Z/ ^1 N
    3.1.11. 按存储库可见性搜索
    ) S# j5 m# Y6 R8 \语法        例子9 p+ q2 M% ?/ E1 C
    is:public org:github        匹配 GitHub 拥有的公共存储库
    $ j% U, r% m3 A! gis:internal test        匹配您可以访问并包含“test”一词的内部存储库5 W$ e4 M! D+ X3 @% y6 J" {+ d
    is:private pages        匹配您可以访问并包含“pages”一词的私有存储库
    - Y5 q# H. u+ b# ?  j. R2 V3.1.12. 根据仓库是否是镜像进行搜索
    - S$ ~, ]4 q2 p! @  e语法        例子' q8 u. O. X" `( v$ `3 Y) t$ L
    mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库
    $ m& g- H" E5 E7 o  r/ J: |mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库0 r1 q, s2 q9 s. e1 |/ `) B
    3.2. 搜索主题. m! p7 n2 E8 ^, B5 C1 |
    3.2.1. 使用搜索限定符缩小搜索范围
    ) a% f8 u4 @& }. x语法        例子4 \3 T9 \8 f# H+ }4 ^2 p
    is:curated javascript        匹配经过策划并包含“javascript”一词的主题
    2 t' q9 O3 l& {! |3 Y, Yis:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
    ) K5 j0 w+ P$ f2 D3 _$ \9 C/ m2 Zis:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
      c2 c9 [/ p( {/ D8 V6 [is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
    % G; e) f. ~' [  G, ?/ o) \1 x! z# T) arepositories:>5000        匹配具有超过 5000 个存储库的主题
    ! F1 F. p0 S. C; v3.3. 搜索代码
    6 I  ]- N' S. Q  |! F序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    ! E) U! X$ z  d; y2 o  B! b1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码9 I# m, Z* f  l8 c6 g; a" J% w6 {8 k
    2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”
    - t  l3 b5 d9 F3        仅对默认分支进行索引以进行代码搜索1 x: i7 p- P5 i3 Y* j+ r" _4 f4 h
    4        只能搜索小于 384 KB 的文。
      r8 H4 J- _( \5        只能搜索少于 500,000 个文件的存储库
    , b7 e' C! R) z6        只有在去年有活动或在搜索结果中返回的存储库才可搜索9 J- S( o5 Q  f; r
    7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
    ! r, t  r& \8 q- H! l, k, @0 j8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果8 K( P! J1 }+ E0 a0 k9 H
    9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^$ ^. @- C% Z" }: S, @6 Z2 U
    3.3.1. 按文件内容或文件路径搜索
    & T5 v& o8 O; E0 S: C( F7 y语法        例子7 K: _7 w4 x5 \& W  T
    octocat in:file        匹配文件内容中出现“octocat”的代码
    4 _# X  z1 E' _! D$ M7 \octocat in:path        匹配文件路径中出现“octocat”的代码
    ( O/ q, T4 n1 L, `" q6 v- f3.3.2. 在用户或组织的仓库中搜索
    8 E" ^/ L. ^: H" m3 A$ \3 Y语法        例子* |, j' T; g5 E5 e: S8 U6 j4 v
    user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码6 r+ h; G& r, p, a1 F/ d
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码
    8 a5 N- u5 P0 W# v7 G! grepo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码! ?+ a, O, V) Q* }
    3.3.3. 按语言搜索# L+ z" F2 O4 s8 A+ l
    语法        例子
    2 J9 r7 z8 ?6 }0 C) i; {/ r4 m6 nelement language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
    3 {- \& P% k( K* c: [" N' pdisplay language:scss        匹配带有单词“display”的代码,它被标记为 SCSS
    - a$ B2 m: f0 u* V' Y5 U0 ^& ]org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码% s; @$ ]8 f+ [7 _
    3.3.4. 按文件大小搜索
    " F3 {6 L" N% T语法        例子
    / R! ^3 C) _* d! K6 W# Hfunction size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码& ?8 g; O) s+ v
    3.3.5. 按文件名搜索  ]" c( x' v8 w9 J. Q8 ?
    语法        例子
    ( D, K* I0 ^- M" E6 s3 g* {; l; M5 Tfilename:linguist        匹配名为“linguist”的文件
    ( @/ x# F9 M+ ]& \4 u. Ifilename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。3 o. ~, c& ~- V- x; S8 U, i3 o
    3.4. 搜索用户' U5 c* I$ K- r, K
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
      F0 r9 h" g- k" u语法        例子
    3 W+ F( ?9 r% r3 Zuserctocat        匹配用户名为“octocat”的用户
    * j. Q5 c: L/ N$ Uorg:electron type:users        匹配 Electron 组织的账户名
    ( A- D# U2 g5 H8 d8 r5 c- F# Okenya in:login        匹配用户名中包含“kenya”一词的用户/ w, d# |+ {  S4 L
    bolton in:name        匹配真实姓名中包含单词“bolton”的用户
    * j  ~8 Q6 s  |1 G5 S% D& ~fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。7 Q8 T. S/ L* S. U# K
    data in:email        将用户与电子邮件中的“data”一词匹配起来. H" \# {. w$ Q9 j
    3.4.2. 按用户拥有的仓库数量搜索" J( G# z' |1 }5 q# E6 x* \2 s
    语法        例子* }0 a4 t, i) n
    repos:>9000        匹配存储库数量超过 9,000 的用户
    ( z2 R5 v( z* f* Gbert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户$ |9 B+ W  @  n
    3.4.3. 按创建用户帐户的时间搜索
    * e1 S4 s2 _! z& U# `* @) M5 \3 h语法        例子. W( K4 y" \# ~: ~2 B
    created:<2011-01-01        匹配 2011 年之前加入的用户
    " q  U2 Q3 i7 z) l$ Wcreated:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户0 {% @9 e# m) N; z
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户: I& k  G0 X0 n
    created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户( X# y* ~9 ?; n0 j1 u: ?
    3.4.4. 按关注者数量搜索+ n: }: u$ m  ^& v0 S! V
    语法        例子) Y8 E/ `1 r# e* V1 v) _
    followers:>=1000        匹配拥有 1,000 或更多关注者的用户$ S* V) G1 I* E6 P2 J; P
    sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
    ! o& y  x  E7 b8 H& ~: t" b————————————————
    % W' z# y* ]* g" D# D4 m1 T2 ~$ x版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。1 m6 p5 I- c. H1 [; W; a3 I
    原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
    / o7 c& L9 F: m% f) S. E# h: l
    9 s0 f) ^/ j. U. ^2 r; [
    6 b  B+ P, Q' M) l3 n
    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 16:15 , Processed in 0.473683 second(s), 55 queries .

    回顶部