QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3715|回复: 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
    0 h" f6 j5 K6 K
    73个GitHub高级搜索技巧' ^! g2 `- K, J1 ~& P3 T+ t6 y
    73个GitHub高级搜索技巧
    9 g+ H9 d" l: }+ I  {1. 前言/ z7 {) E' n6 P
    2. 排序搜索结果2 ~1 Q" a3 C2 N  V. v9 u5 ^+ _
    2.1. 按交互排序
    1 c: m: A/ M7 i. G! ]5 B5 _2.2. 按反应排序
    : x% w# X) X# t2.3. 按作者日期排序3 L+ z& y8 g4 g& E' m" {8 G2 d
    2.4. 按提交者日期排序
    3 }" W- R6 ~8 k6 K9 H  o2.5. 按更新日期排序+ f7 I0 m1 p7 H; ]7 i
    3. 搜索范围" G5 I0 w6 C) |- L/ C9 E
    3.1. 搜索存储库! J' V1 ?0 ]2 i0 r, T  p$ Y  q
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    3 `( q9 H5 ]3 [) W5 a2 [) O3.1.2. 在用户或组织的仓库中搜索" s) w/ O; b! I9 j4 W* Y
    3.1.3. 按存储库大小搜索
      b& Z! g: i* K7 y0 p+ I9 B3.1.4. 按分叉数搜索: m( M* U( c1 X- \- @
    3.1.5. 按星数搜索* Q  H, p4 ^  E& a% ]: {/ f" Q
    3.1.6. 按创建或上次更新存储库的时间搜索
    2 k6 c8 `2 N% o: w: N8 }3.1.7. 按语言搜索; _* O6 @! G9 j. X5 P' Z
    3.1.8. 按主题搜索/ Y. ^1 V7 y& w7 P2 O
    3.1.9. 按主题数量搜索
    & y& M/ d' y0 s4 ]: h3.1.10. 按许可证搜索, g; Y0 U5 p1 s3 Z3 h# V9 b* ]
    3.1.11. 按存储库可见性搜索$ a% q2 m9 r" m
    3.1.12. 根据仓库是否是镜像进行搜索/ ~1 k# g" ?$ o0 A6 ~( F, W$ p
    3.2. 搜索主题
    - q) Q/ ?% j4 X! H9 d) f* a3.2.1. 使用搜索限定符缩小搜索范围3 ]) `0 M/ t: c% r# L, _- p
    3.3. 搜索代码
    0 |% [/ Q7 S7 I3.3.1. 按文件内容或文件路径搜索$ o6 T- L& L; q4 Z! `
    3.3.2. 在用户或组织的仓库中搜索" J# W" G4 c4 T* [9 b
    3.3.3. 按语言搜索- l$ @* ]: W: {/ J( h
    3.3.4. 按文件大小搜索* f' {7 S  z. H
    3.3.5. 按文件名搜索5 h. R' J* L- D( C2 I
    3.4. 搜索用户
    7 o* |3 M) E/ v6 q; T# K3.4.1. 按帐户名称、全名或公共电子邮件搜索+ [4 {, |2 X- C9 ]9 L
    3.4.2. 按用户拥有的仓库数量搜索
    ( ?9 f5 n5 k! n6 M3.4.3. 按创建用户帐户的时间搜索+ c' a* x7 {9 \3 n
    3.4.4. 按关注者数量搜索! h9 V0 \) [+ E1 f+ _
    1. 前言
    ) ^  w- N: C3 \0 oGitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
    ' N9 j9 q9 N6 M/ N
    2 K* V- |% K8 t$ M

    # G3 L6 z7 `. l0 a本文参考自GitHub官方文档。$ V! W+ o- z) h; B$ Y9 k
    GitHub官方文档:https://docs.github.com/en* z% H' Q8 j7 m/ T1 F
    9 d' f4 ~/ _* R* z+ O/ i9 E" o

    6 {; ^! t3 P( d& x5 c
    $ E  e1 z2 D: a, S% d! r

    , A+ }- e+ U5 e! y本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。4 g/ q+ d  Z# G
    + r/ `5 g+ D/ j# z8 \

    # n& |& v1 c' \" _2. 排序搜索结果
    5 ~) d8 n, M3 h+ i2.1. 按交互排序
    ( Q/ T, h: j* H/ [8 y3 W9 s8 J( C语法        例子
    5 B/ N3 p' A" S' porg:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序6 g$ D$ I7 m& f0 Y0 e3 s# S6 S4 J' L
    org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序8 T& A& R% o$ V+ M, R
    2.2. 按反应排序
    & u7 `# {+ A, @1 l语法        例子8 s8 W5 g. V1 L/ ?4 m8 V
    org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。7 V! X1 c( S$ V8 [0 K; n
    org:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
    % k6 |0 |' h8 T! y2 Eorg:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序2 s1 \) a3 i7 l& h
    org:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
    ' v6 N! y1 s6 ?; u; }& y- `org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序5 O- t" h' @) B' |6 s" r1 L( o
    org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
    0 X# \% @  [: d3 I) vorg:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
    ( a/ W. i6 H$ \* a2.3. 按作者日期排序
    , E* G+ Y' g. o1 T: {$ y语法        例子- j1 q/ r7 p! Z% \7 Q4 {
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序; u8 }4 ]5 v2 \# L- T' L3 m- {# A( q! Q
    org:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序$ x, G; |. f7 R2 Q: J( U
    2.4. 按提交者日期排序
    " P2 \, I" Y' G- d! H- P语法        例子
    5 Z( L' Y: j  F1 J* z" k4 zorg:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序! I0 w8 u2 e  Y% L0 Z
    org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
    ! l% B! f# q/ N% D; [2.5. 按更新日期排序
    * J8 H' W. y8 x5 P5 ]语法        例子
    " ?) x) w$ a/ |6 hsort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序. r. C+ G) Q5 [3 i7 [% W
    sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序: z/ w* L" B2 m9 d# ]
    3. 搜索范围+ J  |" M8 U5 g/ e7 K
    3.1. 搜索存储库
    * n8 Z  z+ E2 Q! p4 R  n3.1.1. 按存储库名称、描述或 README 文件的内容搜索# {6 P9 E/ Q- C9 ^
    语法        例子
    6 k) l5 J& Q# U# b1 C: qin:name jquery        匹配存储库名称中带有“jquery”的存储库。& L4 |. t' n4 c. E. r" O
    in:description jquery        匹配存储库描述中带有“jquery”的存储库。
    2 @: q, a' D  H0 yin:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。5 f( i& L* o# I% m
    3.1.2. 在用户或组织的仓库中搜索
    8 w/ [3 i  m$ N0 [' E: ~语法        例子
    * }. x! B/ w9 zuser:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。0 [" @& N) s  Q, f3 c3 J
    3.1.3. 按存储库大小搜索
    ) q9 i' I. X  W" @语法        例子
    , {; [( h2 [: |% H# rsize:1000        匹配大小为 1 MB 的存储库
    5 @0 T& |' a1 e& G3 D3 y" ?size:>=30000        匹配至少 30 MB 的存储库
    4 A8 L+ m% B( Qsize:<50        匹配小于 50 KB 的存储库
    2 N9 p! X& G$ x7 Zsize:50…120        匹配 50 KB 到 120 KB 之间的存储库8 t/ `8 [, X# n! f* p
    3.1.4. 按分叉数搜索" r. Q. m& N& `) v1 `' T9 T
    语法        例子- q; m: {1 c- }* O1 _  E8 S
    forks:5        匹配只有五个 fork 的存储库
    ' C' d4 a* N9 w9 Xforks:>=205        匹配至少有 205 个 fork 的仓库% C2 a, J. p4 Z4 y
    forks:<90        匹配具有少于 90 个 fork 的存储库( x. [- E- u$ q% G7 M5 T( C, L
    forks:10…20        匹配具有 10 到 20 个 fork 的存储库
    / w1 [  \4 ~& g3.1.5. 按星数搜索
    7 t+ R) S8 x8 I0 Z& J7 D语法        例子
    # |. P3 Q/ V9 a5 p* A( D8 jstars:500        匹配恰好有 500 颗星的存储库
    7 q9 F4 b; o1 W! f0 D9 L' Ustars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库* P- i5 b' V* O
    stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
    + P0 s- q: n! _. _  i! h3.1.6. 按创建或上次更新存储库的时间搜索6 w/ I- n. t9 e4 p7 ~2 Q
    语法        例子9 x2 ^2 E$ q/ `( q6 n  }% L/ }
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库6 p# }& V5 y9 J% T) r
    css push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    # o* @$ @  ]! u( S! j* ^4 Q: zcase push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    + d  J1 `. _2 _( r3 ?$ H) n3.1.7. 按语言搜索5 F# D' y6 U/ w2 ]' I0 N/ _
    语法        例子
    ( W) r& \7 T4 Y! b' T0 B2 L. K. {% urails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库$ ?, b( K/ f6 V- [
    3.1.8. 按主题搜索) x( U2 G# v8 [/ D8 r- f
    语法        例子
    ' H' D- o' d2 I% C2 ltopic:jekyll        匹配已分类为主题“jekyll”的存储库3 T9 }. }7 F! y" E
    3.1.9. 按主题数量搜索
    9 ^% D6 [! \$ s$ B6 z语法        例子
    ; ?! C, Y6 ?. u' H8 Ltopic:5        匹配具有五个主题的存储库
    , A# r2 [5 ], q" |9 N& btopic:> 3        匹配具有三个以上主题的存储库
    : X7 b/ s: ?) c1 W6 \* I) S6 N3.1.10. 按许可证搜索
    1 V* f2 J6 L6 M7 v  W4 H语法        例子/ v8 Y4 I9 k+ w
    license:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库( L* w5 \$ p6 o" o! S1 _
    3.1.11. 按存储库可见性搜索; y. e$ K2 j9 r7 q- t6 N7 ]( @
    语法        例子
    4 {$ Y3 @( g. c5 ~7 \) R- jis:public org:github        匹配 GitHub 拥有的公共存储库
    % L. y' y# w6 Y" v* ~is:internal test        匹配您可以访问并包含“test”一词的内部存储库
    % p; ~  U  x& sis:private pages        匹配您可以访问并包含“pages”一词的私有存储库4 G; e5 k" H" y/ x/ x* p
    3.1.12. 根据仓库是否是镜像进行搜索
    0 d/ f, S% _) {' Z8 K1 o4 f语法        例子  P5 s1 R4 G+ v: I
    mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库0 A8 a3 X5 ~! r# p: T2 L! h( Q
    mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库
    $ M5 b5 P% w" @6 O% ]" @9 _3.2. 搜索主题* \* A+ ?0 U2 m9 \" g: M) g
    3.2.1. 使用搜索限定符缩小搜索范围
    4 m- A1 l. S( e5 r语法        例子. v: A  P  [( c4 o( T% b
    is:curated javascript        匹配经过策划并包含“javascript”一词的主题
    ' u" ]$ M* k( p/ u. N. S# }: s! Cis:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
    + w* [7 H' q6 X  D) S) His:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题- c* {/ `; F5 @. @5 O
    is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
    & N" N  O1 u# R+ c. E+ ]repositories:>5000        匹配具有超过 5000 个存储库的主题$ ?5 J  @9 _+ a' D* t6 l
    3.3. 搜索代码
    # {/ C1 T$ |1 {序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    * g0 b5 U( n- `* ^1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
    ! k+ y! L7 L* S8 o* w# U% _2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”, Q9 ?: t5 }1 B% C4 Z3 p* \
    3        仅对默认分支进行索引以进行代码搜索3 z- C) ^7 C- s" N- e0 n
    4        只能搜索小于 384 KB 的文。; b( {1 U# v: v/ B& q: c! V
    5        只能搜索少于 500,000 个文件的存储库- n) ^* k6 e% u; Q5 j9 P. _8 N
    6        只有在去年有活动或在搜索结果中返回的存储库才可搜索0 Z+ J4 F: i* H3 Z' x) ~
    7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
    + v0 H  B9 m! s4 y4 H, y) w8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
    ' _5 j! M# f5 |9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^! s+ s, K) u) i( g7 `
    3.3.1. 按文件内容或文件路径搜索
    ) C, k% h0 V* M# t3 H% I" d语法        例子/ R% N1 \0 Y; I' D* Z3 O3 n
    octocat in:file        匹配文件内容中出现“octocat”的代码9 L$ \2 }. j' ^) T& h+ \( r
    octocat in:path        匹配文件路径中出现“octocat”的代码
      M" d# Q- _$ D+ ], W; M5 Y. K- i3.3.2. 在用户或组织的仓库中搜索
    - r7 R. U# U1 G3 }3 D6 l$ \语法        例子
    ) f* Z2 Z( y& h( L$ `7 u3 Q5 E- Ruser:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码, b2 ?# Y3 a$ _9 q( B  M& b) w
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码9 j% _/ c; |' d# @; ]/ }2 L& Q
    repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码% q- M+ e' c- Y, a/ F- t' g3 h
    3.3.3. 按语言搜索
    % z0 `- X9 F3 u0 d7 m2 E* N9 ]语法        例子+ T% i, H+ e/ H( }& l: }# s
    element language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码& x8 B6 |; _- A; \$ K" k- c* M! R
    display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS! |9 R9 ]- c$ x7 k; [# E5 o: B
    org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码2 \7 a9 g: v$ M8 F3 s9 M2 C
    3.3.4. 按文件大小搜索
    $ W( p) E+ ^- j& r语法        例子5 T' Q& U- h$ ]
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
    " X# c2 }# Q. `8 [0 m; R! g3.3.5. 按文件名搜索/ ]4 m# E* i& v9 t' p# l. T
    语法        例子
    # q. s/ K6 x% T/ Y- F4 [+ O* wfilename:linguist        匹配名为“linguist”的文件: j4 j2 x% E  h( _- l
    filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
    # k+ u$ K* m2 @* Y5 h3.4. 搜索用户
    : f9 U+ f/ I: B8 d- O: ]3.4.1. 按帐户名称、全名或公共电子邮件搜索- W. C, E3 C! o0 C/ c
    语法        例子- B2 q! y- T" b; e
    userctocat        匹配用户名为“octocat”的用户8 B; I. L( V* M6 ~; i  e* o
    org:electron type:users        匹配 Electron 组织的账户名2 b( Z/ f' s/ m  F
    kenya in:login        匹配用户名中包含“kenya”一词的用户1 _% `9 e/ t9 u# U  h4 l: p
    bolton in:name        匹配真实姓名中包含单词“bolton”的用户
    ' w$ c% A7 x, Q  w2 tfullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
    * C7 K- L) b" I+ o' ]* w& r7 ^" udata in:email        将用户与电子邮件中的“data”一词匹配起来
    / y& J4 Y+ {1 D% a; w6 v3.4.2. 按用户拥有的仓库数量搜索) K9 Z3 `" Z0 ?' @- ^
    语法        例子7 l9 o0 m+ [! R9 j' N
    repos:>9000        匹配存储库数量超过 9,000 的用户+ w# T: g$ a) w( O
    bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
    - a1 E* f9 {7 P2 M9 @. y7 `9 ]3.4.3. 按创建用户帐户的时间搜索
    & v0 o" a/ c6 V& N; K6 d语法        例子
    ; C; e( ^7 z& a( X5 k/ |$ screated:<2011-01-01        匹配 2011 年之前加入的用户
    + f6 W+ ~( a/ j( l. K% }0 Fcreated:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户/ M4 M6 j$ @. M# {
    created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户! A8 G9 W; O/ e8 K
    created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户7 D. P+ {* u4 l
    3.4.4. 按关注者数量搜索1 o  J" q) b9 ]7 U! }& b3 n
    语法        例子
    - O% L3 Q0 e9 s) d+ Wfollowers:>=1000        匹配拥有 1,000 或更多关注者的用户0 G8 o( _, M+ Y6 c
    sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
    / l8 m& L% h8 R  m1 P8 l% p————————————————
    * |" I9 v* I$ b6 v" b版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。; j$ e" W5 B( \% I  ^  U( `
    原文链接:https://blog.csdn.net/PaperJack/article/details/1185439803 X) x: Q7 ~$ l9 S) ^
    8 V$ i" D: ]" ?( B7 {: y3 b4 p

    6 h, z& _. o, H
    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-21 20:08 , Processed in 0.438038 second(s), 55 queries .

    回顶部