QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3741|回复: 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

    , ~6 V5 \3 |# s6 }' |' l73个GitHub高级搜索技巧
    7 g5 y6 q# U4 o" K1 \73个GitHub高级搜索技巧, x3 W' N( {2 b
    1. 前言
    & `& T& f5 r' p2. 排序搜索结果) r- z9 @' S9 U* C
    2.1. 按交互排序
    * ?' N5 S( u1 G: J" L2.2. 按反应排序
    8 R8 c, t# G. y$ F2.3. 按作者日期排序7 d# J( E9 w; j% O- z6 |3 m" n9 J
    2.4. 按提交者日期排序1 t/ W; A/ m4 t! o  a! r9 ^( W
    2.5. 按更新日期排序
    ; e$ t6 k% Y1 u1 [" a% r: U3. 搜索范围
    * e0 T; |. L% z1 c6 \+ x3.1. 搜索存储库* l; L8 o3 _: H, J1 T
    3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    * P) Z% h! b6 I# R1 a8 W3.1.2. 在用户或组织的仓库中搜索9 G7 p6 U' n9 n1 I
    3.1.3. 按存储库大小搜索5 x: r" a1 h! A% I/ @7 }6 Z' I6 b+ O
    3.1.4. 按分叉数搜索7 f- e; F1 X+ a# b/ r& a
    3.1.5. 按星数搜索7 @/ }( ]% S# M5 r
    3.1.6. 按创建或上次更新存储库的时间搜索
    2 j4 j, |& K4 K+ i3 _3.1.7. 按语言搜索2 L5 c! j! Y9 H  t
    3.1.8. 按主题搜索7 j% r/ k- g  I8 |
    3.1.9. 按主题数量搜索7 x1 S! F- C% b
    3.1.10. 按许可证搜索/ O6 E3 M" t7 M0 H7 b1 P& ^% j
    3.1.11. 按存储库可见性搜索: g4 E8 }4 R0 K% R- r+ s3 Q
    3.1.12. 根据仓库是否是镜像进行搜索6 p+ ?" ~( ^1 A* ~+ X: r
    3.2. 搜索主题) b) G9 q/ a1 `4 J1 E' m
    3.2.1. 使用搜索限定符缩小搜索范围9 p- I  l, ^/ N9 c
    3.3. 搜索代码
    7 _# s0 x, O2 h* ^: O3.3.1. 按文件内容或文件路径搜索& F6 w3 [8 ~# r, D& P. a, b
    3.3.2. 在用户或组织的仓库中搜索/ u4 l! F9 ]1 W  \) c
    3.3.3. 按语言搜索
    4 w! a0 ^: O. w8 y, ]3 h3.3.4. 按文件大小搜索
    ' d6 E( b; M! s, K4 |3.3.5. 按文件名搜索
    0 z2 [$ n2 S; Y; e  I; v2 e# ]3.4. 搜索用户6 z0 w  J& x8 e: |
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
    ( X, d8 u5 j& _: r2 _' N0 ]. a3.4.2. 按用户拥有的仓库数量搜索
    - ~/ X4 d( _1 q$ c+ L3.4.3. 按创建用户帐户的时间搜索( d9 e, W; i/ p  s4 V5 s  U
    3.4.4. 按关注者数量搜索
    3 ^6 `9 N0 k* }* Q. ~, d1. 前言
    ' ~# v, x; G3 R- o; ~3 f4 B( pGitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。6 T6 L" f9 N" I1 M& e4 B% ]

    9 u1 k% N& t# c+ `8 F; I1 H

    " v3 j1 l8 y8 r& x本文参考自GitHub官方文档。
    ' A; b2 W" o$ F$ o4 T$ rGitHub官方文档:https://docs.github.com/en9 Q5 h# o: q3 V2 F7 g& E  [: m
    3 w7 x' H+ W6 @( e4 }6 @# v

    7 [1 T  d. [$ G" x8 F- A* O- N/ A! Y5 q4 ~
    : ]# J% N4 _1 R' t( p0 ~( G
    本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。+ G/ f" J0 x+ U) r) K0 J" }* B
    8 D/ H& T- @+ F3 m: G
    + ~- S8 u3 t& Q" \$ n; O9 B1 ?) S/ `, e/ {
    2. 排序搜索结果9 S3 ]8 Z- x+ A0 b! N; D; w
    2.1. 按交互排序
    : {' ?# ^2 L6 Q3 d. f语法        例子
    - p# h) i* O) y9 V% N2 h: N8 P1 K  Worg:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
    9 L- n; ?/ E; V" ]1 z: \  K1 vorg:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
    9 ^4 o) ^% Z' M0 S2.2. 按反应排序) Y: o2 X2 l- i/ f  J4 w: `* T
    语法        例子  C9 T+ J2 L  B7 Q% ?1 W4 f
    org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。( y# \$ ~+ v3 l& i
    org:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
    ; l7 V4 |* K% W9 xorg:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序2 f4 g" O  }2 o9 ]
    org:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序. r. Q+ Q  k/ w) W/ b, e# ]
    org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序) h0 I8 {! s0 |) B$ c8 }
    org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序4 R4 @: Z) @) F1 _1 q. g' {
    org:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序% H4 W9 {  C) _
    2.3. 按作者日期排序2 w) g; l* I4 E; p2 Z9 e
    语法        例子
    9 k! I" x( [% Forg:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
    - G+ e/ c& V, o1 a9 b) rorg:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
    ' q+ ?' B4 Q1 o  Z" S2.4. 按提交者日期排序! u" v' w& B! F) C' y
    语法        例子
      T7 {4 K  g  z) i0 C9 K! A! Morg:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序% J1 V0 M8 j7 G8 j* E$ \- w
    org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
    ' u4 T8 z6 `0 C( n% N: B4 m$ Y, r& Q* B2.5. 按更新日期排序3 T8 Q" ^# \$ I2 Y/ |4 B, m; l
    语法        例子' B$ k2 X( u4 ~9 l% K
    sort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序
    # |2 z+ s, Z) L$ ?* Csort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序
    % D0 m1 i/ \$ t& U/ @  c9 a3. 搜索范围7 |4 |' E+ S: r4 ?/ e* F6 _. y
    3.1. 搜索存储库
    & G( }5 N' v1 F+ M* c! `3.1.1. 按存储库名称、描述或 README 文件的内容搜索
    # ~. r( _% W4 f% P语法        例子
    ' v7 Q7 Q1 j5 t2 Sin:name jquery        匹配存储库名称中带有“jquery”的存储库。
    7 @" b  K* O' S( r' G4 X3 Oin:description jquery        匹配存储库描述中带有“jquery”的存储库。; X0 P( c) e0 V% ~) W. o
    in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。
    5 B9 T8 V9 q- D0 z' f3.1.2. 在用户或组织的仓库中搜索
    , l6 n" B/ G4 J, J* G语法        例子# y' r4 O5 r$ {$ p9 U
    user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。5 h9 d" G1 W8 M: n
    3.1.3. 按存储库大小搜索6 l, I8 d7 y3 k( j2 {) V* U! m
    语法        例子
    ' ]6 L/ p4 X6 a+ }9 Z5 E( Z9 r% vsize:1000        匹配大小为 1 MB 的存储库
    & S7 E, l) R/ Jsize:>=30000        匹配至少 30 MB 的存储库" [! h) b- ~! i( e
    size:<50        匹配小于 50 KB 的存储库
    2 ~. d; f/ X' _. a+ d" z3 Y- isize:50…120        匹配 50 KB 到 120 KB 之间的存储库' e' t7 T& j, e" O
    3.1.4. 按分叉数搜索
    5 k& D/ k4 ?" m! T2 G' \1 c! O# V语法        例子
    / G9 r* A) O) Q5 q! c" G8 zforks:5        匹配只有五个 fork 的存储库
    $ ]6 Q; T- T; e$ vforks:>=205        匹配至少有 205 个 fork 的仓库
    * r7 k7 e5 z/ iforks:<90        匹配具有少于 90 个 fork 的存储库
    * i5 a, G9 o- t( ~* Tforks:10…20        匹配具有 10 到 20 个 fork 的存储库
    ! W6 Q6 H. B! a3.1.5. 按星数搜索
    5 |1 a& b- O) e7 u, W$ m+ @语法        例子
    8 [  B, D# V+ }7 ]( _$ Fstars:500        匹配恰好有 500 颗星的存储库( `/ j. g* _3 J) q
    stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库. g! ~2 n( B: \8 u/ n+ n* E
    stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的4 I0 f+ c, o" d$ `$ `1 ?
    3.1.6. 按创建或上次更新存储库的时间搜索8 |# ?  ^( w7 h- S7 a
    语法        例子
    # U: s7 A* M7 C' q3 `8 Zwebos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库. Q0 E8 B. D3 W% Z
    css push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
    & S' i7 Q6 A# {5 q# _case push:>=2013-03-06 forknly        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
    7 f' W% O: v1 `9 o, E3.1.7. 按语言搜索
    3 K: q$ g2 l5 L7 ]" C4 B% t语法        例子
    9 s% m- u3 p+ @rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库; m% k) Q: E( L+ R2 j/ g
    3.1.8. 按主题搜索
    ! l7 C7 D7 y; ^4 t0 Z$ a1 n! F) G语法        例子6 v* L8 H. \3 C5 |) B" r9 j
    topic:jekyll        匹配已分类为主题“jekyll”的存储库
    ( p7 e. E2 u0 y9 i3.1.9. 按主题数量搜索
    / Z# z3 _, b. I% s6 M* U: x3 l语法        例子3 Q* t' f( ^. m5 {; \# w
    topic:5        匹配具有五个主题的存储库( N* D) K  c' ?( P9 C0 ?6 K2 H/ i1 M
    topic:> 3        匹配具有三个以上主题的存储库8 w3 i. s+ B' J& D2 J) {
    3.1.10. 按许可证搜索- G0 D8 D; L" f7 b1 w4 |
    语法        例子
    ' q0 z' k$ H" O2 C4 A8 d( l. }; Dlicense:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库" p3 W8 t% h8 K) b
    3.1.11. 按存储库可见性搜索- O( R* z4 r' W' o! B+ B* B& A
    语法        例子- s4 ]; E$ f- G8 [
    is:public org:github        匹配 GitHub 拥有的公共存储库
    ; m1 k* z( u& d2 ]( M6 Xis:internal test        匹配您可以访问并包含“test”一词的内部存储库
    # R  M$ Q. S# b9 Iis:private pages        匹配您可以访问并包含“pages”一词的私有存储库% W# Q- Z/ W) Z  q3 P9 b
    3.1.12. 根据仓库是否是镜像进行搜索
    " B: |/ I; x- `. x, \9 b1 A语法        例子4 w  _" F$ _5 h  t2 j7 Y/ I
    mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库
    : v1 X8 n' m1 }! c3 X: {, nmirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库" k" q( n7 f3 m; l1 O
    3.2. 搜索主题, ?% d3 \3 d" @+ ~+ O
    3.2.1. 使用搜索限定符缩小搜索范围( F! P4 M) a, i+ F1 X4 d; }
    语法        例子
    5 ], z9 c! P2 A/ Y/ ois:curated javascript        匹配经过策划并包含“javascript”一词的主题+ v. X( t( f1 `5 Y, j' i' n
    is:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词+ `$ ]. j9 r0 ?4 ?8 V
    is:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
    * G8 @; q; P  K( t! Zis:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
    1 r( E! s$ N; z, b0 Hrepositories:>5000        匹配具有超过 5000 个存储库的主题
    , G8 `9 f& E) }: V3.3. 搜索代码
    6 v, \% p6 Q! I序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
    0 F) I  a4 h0 |* h1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
    ! U' F( M6 W1 A9 |' _% T- ?& F+ C! A2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加forknly到您的查询中。有关更多信息,请参阅“在分叉中搜索”2 [! k. a1 B" \2 R, X, ^
    3        仅对默认分支进行索引以进行代码搜索
    + o9 W, {  o+ W3 ?4        只能搜索小于 384 KB 的文。+ q. `& p; R( l5 R# y+ r: `
    5        只能搜索少于 500,000 个文件的存储库  B8 l" K' m7 N# }
    6        只有在去年有活动或在搜索结果中返回的存储库才可搜索. W' Y. A8 R/ c+ n8 T4 j
    7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
    5 p. v! _+ T6 ?8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
    1 o* T; O0 g$ \* z+ \% r3 N9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^$ a# w" m# Z9 c) G. q* L
    3.3.1. 按文件内容或文件路径搜索
    ; I1 G& N- }: G3 x" c0 @( Q/ y语法        例子
    , r4 V5 {6 x5 D; xoctocat in:file        匹配文件内容中出现“octocat”的代码
    ) y0 U) G8 T0 |  y5 _3 H+ Zoctocat in:path        匹配文件路径中出现“octocat”的代码
    5 n; p! e1 l1 Y+ @0 j' P& Y* L/ u3.3.2. 在用户或组织的仓库中搜索
    $ A% }8 ^2 w7 x6 h& H  K) Q' n! r语法        例子
    7 S2 z. C" R# |user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码' Z% u5 X) j7 e: c* u! Q
    org:github extension:js        匹配来自 GitHub 的以.js结尾的代码. G0 D% u+ o0 t
    repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码
    % A, m, ?) r2 S! U0 u3.3.3. 按语言搜索
    - |( M# g' D3 f. N# S, H语法        例子
    1 y/ {9 _+ ^; Y7 q$ S% {element language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码; m% S% `* u, {  }
    display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS& I: H: R9 g- R6 Q0 r
    org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码* x  C1 [4 b: K7 i+ L7 \/ b
    3.3.4. 按文件大小搜索
    - t3 p: k7 W( I0 y7 p7 ?语法        例子. z4 r6 s7 j: L& O
    function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码0 J' r; b. ^* W5 e9 t  v, M- F7 K2 E
    3.3.5. 按文件名搜索# \' e/ ~' I: b. c0 r
    语法        例子
    ( D- c1 {! r+ `filename:linguist        匹配名为“linguist”的文件
    6 q& v2 z9 {7 L5 y$ A0 u$ E( \filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。+ G& V2 [( O8 _( j% M
    3.4. 搜索用户3 V; M# c. l' i% N
    3.4.1. 按帐户名称、全名或公共电子邮件搜索
    + K0 G/ o( e5 o( q2 e7 }语法        例子
    , [8 m# [: d8 d0 F7 e; guserctocat        匹配用户名为“octocat”的用户9 \4 G+ b, k& W
    org:electron type:users        匹配 Electron 组织的账户名8 i3 z7 v( z# A5 e- a
    kenya in:login        匹配用户名中包含“kenya”一词的用户( ~1 h0 E( I0 b* {9 x
    bolton in:name        匹配真实姓名中包含单词“bolton”的用户) d. g5 A( N  T* |5 \$ [
    fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。" P1 _& D* H) v$ H
    data in:email        将用户与电子邮件中的“data”一词匹配起来
    " x' }, w9 B, z+ n3.4.2. 按用户拥有的仓库数量搜索
    # U. o9 R! M( `1 T* q语法        例子7 S/ x( x* T/ L3 D2 B: M) M
    repos:>9000        匹配存储库数量超过 9,000 的用户
    1 |6 U  F4 {* o$ H0 I# r$ H" O; R! Ybert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户# E. X3 i7 ^5 P- k0 D/ |
    3.4.3. 按创建用户帐户的时间搜索$ n: @3 z* c7 L6 ^
    语法        例子. _) ~. g# c3 T
    created:<2011-01-01        匹配 2011 年之前加入的用户# D# }6 Y3 @: R" e
    created:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户
      m$ k- y# U+ @+ Ccreated:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户. E; e) f* e; j" n4 P! o
    created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户* t( i) e1 M& O; N/ B/ U$ E  \6 a+ s
    3.4.4. 按关注者数量搜索
    . x' y- `1 _+ s8 z语法        例子
    ) A1 V; o) h1 Q7 P  G/ p. [followers:>=1000        匹配拥有 1,000 或更多关注者的用户' y9 P0 s! ~, W; l, c% Q" R$ D& q
    sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词& q3 Q, ]4 K2 w4 v, D: l  B# A
    ————————————————
    $ d/ k6 l6 f; I, s, k6 i, y版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。  F4 s7 s- f6 Z! R/ _1 \
    原文链接:https://blog.csdn.net/PaperJack/article/details/118543980: b# h( K- P; N

    " }5 m. b5 y5 S7 n1 z! n& E
    + ]/ n( E$ n( M* x; [
    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 13:17 , Processed in 0.451999 second(s), 56 queries .

    回顶部