QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3777|回复: 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
    ; D: G, P) b+ O6 j
    73个GitHub高级搜索技巧
    3 a+ r. {; @4 N- x" B: m$ }1 O73个GitHub高级搜索技巧
    4 {  L- [& w& A: v1. 前言
    ( y9 U+ i3 y: x) z4 b5 k2. 排序搜索结果
    ) X  L, Q# f/ H( H$ S2.1. 按交互排序4 T' k; p( \5 \% E$ C8 ]
    2.2. 按反应排序1 [7 y$ L- y" W' I3 m. d7 X
    2.3. 按作者日期排序/ m  W. `  @0 y1 B6 I  K
    2.4. 按提交者日期排序
    ( y# T# m- K- a3 H8 ^2.5. 按更新日期排序3 F! Q  y( M( f+ M% e* m& q0 W9 h1 v7 t2 o
    3. 搜索范围& ]& g6 e: O1 {' }1 V
    3.1. 搜索存储库# q. _9 }$ ^$ X0 z
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    ' c0 ]5 N. x$ N* P" [) _3 V( `3.1.2. 在用户或组织的仓库中搜索, @/ I! q; J1 P. Y! B
    3.1.3. 按存储库大小搜索
    & `4 r4 q  [* r- P2 C3.1.4. 按分叉数搜索
    $ k* ]6 M5 C) J3 N% O3.1.5. 按星数搜索* Q# g  b; U8 X, C8 Z2 o  X* z
    3.1.6. 按创建或上次更新存储库的时间搜索5 c; n- ]" Q; T6 P5 v) _
    3.1.7. 按语言搜索* Q/ Z' ^5 D  C
    3.1.8. 按主题搜索
    4 I7 ^% b5 b, e2 D! X% G3.1.9. 按主题数量搜索
    , X- i. _! N! ?* R( {( W# w3.1.10. 按许可证搜索; K8 A; m* w! @# f8 d
    3.1.11. 按存储库可见性搜索0 o% ]) s- U- @: D
    3.1.12. 根据仓库是否是镜像进行搜索
    # W! H( y$ b# Y+ j7 s# F3.2. 搜索主题8 {$ ~9 m& t; c4 w' n- A& k# _2 l
    3.2.1. 使用搜索限定符缩小搜索范围$ V0 s( T4 c' S& ]! _/ g8 B  T5 y
    3.3. 搜索代码
    5 d( K. [- z1 w$ J; ]3.3.1. 按文件内容或文件路径搜索
    # a. T$ k$ H1 e& g: A# g3.3.2. 在用户或组织的仓库中搜索
    1 |, [" G+ j$ F  X3.3.3. 按语言搜索
    ; Y% S! d. P: L7 R3.3.4. 按文件大小搜索
    4 |7 I+ B/ v! Y$ Y  W3.3.5. 按文件名搜索& i% ^7 Y: W- u& @( j- C! A0 n: x
    3.4. 搜索用户
    . {/ L7 b6 Y4 t1 _" _# {9 Y  Z3.4.1. 按帐户名称、全名或公共电子邮件搜索
    / \) q: }$ a  c- G* m2 N5 L3.4.2. 按用户拥有的仓库数量搜索
    : V" M  k& w1 B: y6 I4 [3.4.3. 按创建用户帐户的时间搜索
    " X2 ^0 s3 m6 [5 S0 r7 W) n3.4.4. 按关注者数量搜索
    6 `( k- |; C) }  G1. 前言
    1 l/ p+ r: W1 Q! u9 V- WGitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。
    5 R! V3 U1 F9 C+ [/ \- f5 \# k% o
    9 h! a+ \+ h5 T9 `

    3 h% A, J0 L" N8 Q' V+ Y本文参考自GitHub官方文档。' s5 E4 l5 u6 v2 ]
    GitHub官方文档:https://docs.github.com/en& o( I4 K5 `5 m
    6 h- Q8 C) T: s0 j* t7 d

    ! Z. |& P3 q$ c# O" K+ @
    ( V0 _: c  ?. g+ \% R

    7 L, C# S$ G( t4 z# n' u1 H1 W本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。8 x7 E: {( Q' t

    7 @0 b7 G* u/ T' J+ I6 Y' e8 J% \. M8 q
    % ~6 Z+ F( d' e% T9 G( I! @  X
    2. 排序搜索结果5 P/ @" {7 [3 a* [
    2.1. 按交互排序3 U5 v3 |; `1 r& J- ^5 }
    语法        例子
    . U& _/ g, m  P% b% M# F+ [2 `org:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
    8 R0 }! x  m8 q# I& c: i. X. [8 forg:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
      @4 h. c4 @' r# [' o/ z  C# E& L2.2. 按反应排序  K& @6 J# E- J, Y
    语法        例子
    6 u3 x* x3 G" m* T- Porg:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。6 ?* }7 c, k; g' m% R8 z* ~
    org:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)+ H! \! B' i; x8 ?7 z: I
    org:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
    ; v, F% K" i, H2 }! t& aorg:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序. N' C1 m4 z0 M8 ~8 [
    org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序) o2 b, w* A* `+ Z$ [7 X+ I
    org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
    * Q9 c$ a6 B8 h; b/ {$ V3 lorg:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序; o. V* f  w  m0 X& [
    2.3. 按作者日期排序& T; v$ C( E5 N- w6 o/ F
    语法        例子: w% f. I/ z! G. }4 p
    org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
    1 w' x6 S6 `7 f1 ]5 l! Qorg:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
    ) C( }8 E1 F0 _# ^, K7 o2.4. 按提交者日期排序2 m! c* H9 m1 p/ z
    语法        例子3 L* U1 h- X4 F6 ]  R+ L8 F
    org:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
    / c' i6 N: C3 \- z& c8 c2 @org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序, _. V+ n; H7 M& \0 M
    2.5. 按更新日期排序& C) q: b  a) b9 l9 y
    语法        例子
    * W4 m% y) m- d4 e% y, Csort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序: O; f" H# B" C* c7 P# I: v: p, O
    sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序8 y8 I: W# x: o! ]
    3. 搜索范围" k" ~) u  u  X: x* Y, S, u/ l
    3.1. 搜索存储库- P. e$ b0 ]3 w: h
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    ; G% d, H# G$ J4 h$ t语法        例子
    " V9 \; c, f$ L: V2 z% o3 T) m5 |% c& oin:name jquery        匹配存储库名称中带有“jquery”的存储库。9 z# R2 g, k2 j5 Y9 L
    in:description jquery        匹配存储库描述中带有“jquery”的存储库。% b8 `( T% U6 G2 ^
    in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。
    ) x9 A/ y; B& p3.1.2. 在用户或组织的仓库中搜索# U! p# s( e6 P8 |
    语法        例子. v, ^0 i1 I5 Y/ u
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
    1 C" q) s3 Q' {6 a9 r7 H* s3.1.3. 按存储库大小搜索2 A0 F3 b8 V7 u% T' k
    语法        例子
    9 H# a: Q; W! ~* [9 asize:1000        匹配大小为 1 MB 的存储库
    5 j' z  K: o4 x* y) t+ Xsize:>=30000        匹配至少 30 MB 的存储库
    * L- M" n5 L: R( w; V1 J4 }size:<50        匹配小于 50 KB 的存储库
    8 l8 w! r, h5 X( V! k. v6 csize:50…120        匹配 50 KB 到 120 KB 之间的存储库( C' m  f$ }7 q- ]; Q8 s# O
    3.1.4. 按分叉数搜索: r8 H0 v$ N8 v
    语法        例子) D8 n' _; o, K5 a8 Z
    forks:5        匹配只有五个 fork 的存储库
    9 k/ B& a1 w+ D  k0 X4 \2 hforks:>=205        匹配至少有 205 个 fork 的仓库% N  F+ T9 D; \3 ]4 H
    forks:<90        匹配具有少于 90 个 fork 的存储库4 O3 t  O" B) b) ?2 e
    forks:10…20        匹配具有 10 到 20 个 fork 的存储库
    2 [9 j1 ^: e0 a! f" U5 o3.1.5. 按星数搜索1 i7 r; M* M1 X" c
    语法        例子
    6 v0 U9 a0 }- C5 Y2 istars:500        匹配恰好有 500 颗星的存储库- H0 Y$ t2 l0 x" ^
    stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库4 T0 A) x$ V* J4 J8 o% e
    stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的* d# E0 `! `/ c- ^, L: Q
    3.1.6. 按创建或上次更新存储库的时间搜索
    1 N1 V  V% x3 [  S语法        例子2 H" W( M3 [0 r" \- }7 ?
    webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库
    , ~  C% S. J) a! E7 f% P( V) M! Ucss push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    " b- R/ F3 B3 B5 Dcase push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    # k7 G% C+ f9 `6 c5 N) Y8 J3.1.7. 按语言搜索' P, \3 u# b6 B! z' ]
    语法        例子3 s8 ^6 E' G1 P, \+ q
    rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库
    6 b$ Q' k, R; k3.1.8. 按主题搜索8 c6 t* u! E9 Z6 I/ N
    语法        例子' q9 C; y  L/ K1 P0 L
    topic:jekyll        匹配已分类为主题“jekyll”的存储库
      r1 T$ ]1 ~( W3.1.9. 按主题数量搜索3 y1 O0 H0 ?2 ]" j. P& P
    语法        例子
    6 _7 ]' y6 P" S) y! e+ [topic:5        匹配具有五个主题的存储库2 N- @: c: U2 C  e: c( W
    topic:> 3        匹配具有三个以上主题的存储库
    ' S4 n4 s  s( G3.1.10. 按许可证搜索
    - w; d* ~9 D6 p+ ~8 N( R: ^' d+ o& }语法        例子! z! L4 P( Z1 @/ w
    license:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库
    6 O% o2 t3 e* R+ ^. [3.1.11. 按存储库可见性搜索, ]# m( t6 ~: Q  {. n$ c
    语法        例子1 v! ^1 q8 |) X: c# Y- t0 S
    is:public org:github        匹配 GitHub 拥有的公共存储库7 L- C" _9 V3 l+ b7 j
    is:internal test        匹配您可以访问并包含“test”一词的内部存储库) X" G$ k0 O# j+ X
    is:private pages        匹配您可以访问并包含“pages”一词的私有存储库7 n+ j) H& D" P! i0 l$ O
    3.1.12. 根据仓库是否是镜像进行搜索! T2 b  U/ o' u, B# t3 r, N6 n
    语法        例子+ R5 F. h& B0 D, u& y# N
    mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库# o9 C% S: a  r' @8 f, ?
    mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库
    # p/ u& Q5 f. _3.2. 搜索主题
    0 }* |8 s; J: Z$ Y2 o3.2.1. 使用搜索限定符缩小搜索范围
    5 x- K; W) m( H0 }0 r' ]/ ~+ `语法        例子
    & ?) q. J+ M: u& S; I4 Yis:curated javascript        匹配经过策划并包含“javascript”一词的主题0 w, M$ b  e% ]# z/ k, u) V
    is:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词3 N5 {3 R5 q! Z; Y* l" F. \
    is:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
    : [& w: f) S5 m4 z5 h+ t& Yis:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
    + ~6 f7 G+ S! ]$ `/ Erepositories:>5000        匹配具有超过 5000 个存储库的主题3 V; r9 B, t9 f2 e$ J8 U( Z
    3.3. 搜索代码) ?4 H2 }% y) X  y( z, y/ h4 D2 ]; L) d
    序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制! j( X5 @9 Z3 g3 E; e: b
    1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
    : T* [5 C+ b* L( ~& i* e2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”7 R2 F- ^) ~; w. F+ g
    3        仅对默认分支进行索引以进行代码搜索- W, [" \! g5 R
    4        只能搜索小于 384 KB 的文。! H2 F% L' q! G: e/ U9 t/ D
    5        只能搜索少于 500,000 个文件的存储库
    4 b8 @0 {+ J% T. Z; x* P6 s6        只有在去年有活动或在搜索结果中返回的存储库才可搜索
    / F5 z7 l( l. p) k; S7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript0 l, V1 J& s/ y( n% o& j) L
    8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
    ' y  B, k( z4 e, ?1 u, d9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
    " ~# N% z! }7 U2 {* }- c3.3.1. 按文件内容或文件路径搜索1 p3 N/ r3 J: J* ]+ _  [1 `
    语法        例子  I& C+ k% L+ h) Q4 m
    octocat in:file        匹配文件内容中出现“octocat”的代码
    2 b8 a5 f" ]1 k* `" v! [. O6 V1 Ooctocat in:path        匹配文件路径中出现“octocat”的代码# d& U. t- S( d) b6 \0 U
    3.3.2. 在用户或组织的仓库中搜索
    % k2 w  \. P, i0 [5 e' m语法        例子
    ' ?  C  y* c- j0 I8 V2 luser:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码: m' a4 R9 l* t7 [$ N9 [8 Z
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码4 t- y6 C3 m+ u' }8 e
    repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码
    / m4 c; ^) q( ~3 g* f2 b  W+ D7 h3.3.3. 按语言搜索6 y, L4 _" p% j+ B
    语法        例子
    4 r7 w- z$ P3 R9 S8 selement language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
    6 v$ {- r- l; p# c( |2 zdisplay language:scss        匹配带有单词“display”的代码,它被标记为 SCSS" V/ O3 \7 C" Y3 i+ A
    org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码; d. U. u5 l: k. A& p1 B: M7 m& {  y
    3.3.4. 按文件大小搜索
    ' g) V8 J4 O/ j4 ]; u语法        例子, @/ w  z( F6 b1 o
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
    - d) }/ a' P3 C4 E3.3.5. 按文件名搜索6 b4 s0 S7 J' B" w, k& p8 _" T& _
    语法        例子
    9 m; \/ U+ o/ O# C0 K5 D. O6 v, Ufilename:linguist        匹配名为“linguist”的文件- O. N* `3 }$ N6 d; j
    filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。6 B1 E# }% w  J& }; Y7 v7 p
    3.4. 搜索用户
    ! m' v2 F- R( D2 B. B5 e" a3.4.1. 按帐户名称、全名或公共电子邮件搜索
    2 u% c7 u+ }* ~9 m! E1 R语法        例子- D) I8 Q+ V" _9 L
    userctocat        匹配用户名为“octocat”的用户' _9 ?2 f% G* s0 e/ T
    org:electron type:users        匹配 Electron 组织的账户名( C" O" ?. x" {% l* m
    kenya in:login        匹配用户名中包含“kenya”一词的用户
    ; W: ~0 u0 w! a3 h$ ^bolton in:name        匹配真实姓名中包含单词“bolton”的用户
    % N/ C, q' T1 d! X* |fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
    4 b$ O' K* n8 n8 ?$ @- U) v4 cdata in:email        将用户与电子邮件中的“data”一词匹配起来, }* D" s  I- j; p5 ^
    3.4.2. 按用户拥有的仓库数量搜索
    ) y6 V  T6 m& Q) L' S! E语法        例子& p3 L8 e! O6 s8 J8 V
    repos:>9000        匹配存储库数量超过 9,000 的用户: r3 U! F$ @0 u& R1 `) q
    bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
    ! y5 f" J: g8 o! D: k; ]* E# l7 T3.4.3. 按创建用户帐户的时间搜索& H8 q1 |# H1 q7 C5 `
    语法        例子
    7 s4 m$ y. ?! g0 }7 I0 s8 H# acreated:<2011-01-01        匹配 2011 年之前加入的用户
    5 V5 X8 d7 i* U$ X' Mcreated:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户
    - H( r6 O) |, x( O6 ncreated:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户9 h0 p3 J0 l. n; y
    created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户. G; l/ i- S& Y5 g/ I
    3.4.4. 按关注者数量搜索3 Z5 ^( _& ^5 U3 U6 V) ]
    语法        例子
    , C' n& P) `  E& R# o4 q. q7 X' y) C( {followers:>=1000        匹配拥有 1,000 或更多关注者的用户) T$ ^! Z+ T2 V* j0 _: |4 ?
    sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
    # P% R2 _+ P9 h+ S————————————————
    $ g8 [# q' Y$ M$ \; h版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    & O' t; u8 ^: m! G- G9 W# p原文链接:https://blog.csdn.net/PaperJack/article/details/118543980
    ' H' p% @4 O9 o( _, i
      F7 {6 j3 M. M3 i. h, s; m6 S( j0 [  E7 o" ^& K' b8 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-8-26 04:13 , Processed in 0.384799 second(s), 56 queries .

    回顶部