GitHub 搜索技巧

经常会在GitHub上搜索代码、项目或查找相关主题,最简单常用的方法是在GitHub主页搜索框中直接输入相关信息进行查找,在搜索前最好已登录,这样才能在所有公共仓库中搜索code

github 一些搜索地址

  • github的推荐:https://github.com/explore
  • 搜索名人的网址:https://github.com/search
  • 高级搜索:https://github.com/search/advanced
  • 按照趋势搜索:https://github.com/trending
  • 按照热门搜索:https://github.com/topics
  • 官方帮助文档:https://help.github.com/articles/searching-repositories/

搜索技巧

代码搜索

  • 默认搜索是从master分支搜索代码
  • 只有小于384k的代码才是可以搜索到的
  • 搜索的时候必须包含至少一个搜索关键词 如amazing language:go
  • 搜索语句不能有特殊字符如., : ; / \ ` ' " = * ! ? # $ & + ^ | ~ < > ( ) { } [].

指定搜索范围

  • octocat in:file 搜索文件中有octocat的代码
  • octocat in:path 搜索路径中有octocat的代码
  • octocat in:file,path 搜索路径中有octocat的代码或者文件中有octocat的代码

通过fork的数量或者是否有父节点的方式搜索

  • android language:java fork:true 搜索用java写的 android相关的代码并且被fork过

按照目录结构搜索

  • console path:app/public language:javascript 在app/public directory目录下搜索console关键字
  • form path:cgi-bin language:perl 搜索cgi-bin目录下包含form的perl代码

通过文件名搜索

  • filename:.vimrc commands 搜索 文件名匹配.vimrc 并且包含commands的代码

根据扩展名来搜索代码

  • form path:cgi-bin extension:pm 搜索cgi-bin目录下以pm为扩展名的代码

通过用户或者组织来查找

  • user:github extension:rb 查找github用户中以rb为扩展的代码
  • repo:mozilla/shumway extension:as搜索mozilla的shumway以as为扩展的代码
  • org:github 查出 github 名下的项目

根据 仓库名(repository name)、项目描述(description)、内容(contents)、说明文件(readme.md) 来搜索项目

限定词 案例
in:name in:name python 查出仓库名中有 python 的项目(python in:name 也是一样的)
in:description in:name,description python 查出仓库名或者项目描述中有 python 的项目
in:readme in:readme python 查出 readme.md 文件里有 python 的项目
repo:owner/name repo:octocat/hello-world 查出 octocat 的 hello-world 项目(指定了某个人的某个项目)

可以通过限制 项目大小(size)、拥护者数(followers)、fork数(forks)、stars数(stars)、创建时间(created)、更新时间(pushed)、项目所用语言(language)、topic标签(topic)、topic标签数(topics)... 来筛选项目

辅助限定词可以多个并用,用空格隔开就行,可以搭配限定词使用,也可单独使用

限定词 案例
stars:n stars:>=5 查出 star数大于等于 5 个 的项目(支持大于小于区间等)
pushed:YYYY-MM-DD css pushed:>2013-02-01 查出仓库中包含 css 关键字,并且在 2013年1月 之后更新过的项目
language:LANGUAGE rails language:javascript 查出仓库包含 rails 关键字,并且使用 javscript 语言的项目
created:YYYY-MM-DD webos created:<2011-01-01 查出仓库中包含 webos 关键字并且是在 2011 年之前创建的项目(也支持时分秒,支持大于小于区间等)
size:n size:1000 查出仓库大小等于 1MB 的项目
size:>=30000 查出仓库大小至少大于 30MB 的项目
size:50..120 查出仓库大小在 50KB 至 120KB 之间的项目
followers:n followers:1000 查出有 1000 个拥护者(followers) 的项目(支持大于小于区间等)
forks:n forks:5 查出有 5 个 forks 的项目(支持大于小于区间等)
topic:TOPIC topic:jekyll 查出含有 jekyll 这个 topic 的项目(项目描述下面的东西,相当于标签、分类)
topics:n topics:>5 查出有 5 个以上 topic 的项目(支持大于小于区间等)
archived:true/false archived:true GNOME 查出已经封存了并且含有 GNOME 关键字的项目(已经不再维护了的项目)
is:public/private is:public org:github 查出仓库所有组织是 github 并且公开的项目
is:private github 查出含有 github 关键字并且是私有的项目(私有的别人看不到,所以这个是用来搜索自己的私有项目的)
license:LICENSE_KEYWORD license:apache-2.0 查出仓库的开源协议是 apache-2.0 的

推荐项目

free-programming-books

这个项目目前 star 数排名 GitHub 第三,总 star 数超过6w,这个项目整理了所有跟编程相关的免费书籍,而且全球多国语言版的都有,中文版的在这里:free-programming-books-zh,有了这个项目,理论上你可以获取任何编程相关的学习资料,强烈推荐给你们!

oh-my-zsh

俗话说,不会用 shell 的程序员不是真正的程序员,所以建议每个程序员都懂点 shell,有用不说,装逼利器啊!而 oh-my-zsh 毫无疑问就是目前最流行,最酷炫的 shell,不多说了,懂得自然懂,不懂的以后你们会懂的!

awesome

GitHub 上有各种 awesome 系列,简单来说就是这个系列搜罗整理了 GitHub 上各领域的资源大汇总,比如有 awesome-android, awesome-ios, awesome-java, awesome-Python 等等。

github-cheat-sheet

GitHub 的使用有各种技巧,只不过基本的就够我们用了,但是如果你对 GitHub 超级感兴趣,想更多的了解 GitHub 的使用技巧,那么这个项目就刚好是你需要的,每个 GitHub 粉都应该知道这个项目。

你可能感兴趣的:(git)