众所周知,GitHub
是全球最大的同行交友网站 ,也是程序员的 利器 和 宝藏。作为一个由众多优秀程序员所共同维护的开源社区,上面存在许多优秀的项目供我们去学习参考,形成了一种浓烈的 极客文化。我们可以通过这些项目来作为语言学习的一个阶段性总结,从语言到项目的实战演练是非常有必要的。并且针对在校大学生少有实习,很难获得优秀的项目来源时,相信 GitHub
是你最好的选择!
话不多说,下面来手把手教你使用 GitHub
来高效搜索开源项目。
当然有一定基础的同学可以直接参考官方文档:官方文档:Github 搜索帮助,里面中英文可调节。
以博主的《剑指-Offer》刷题 OJ
的代码仓库为例:Y-puyu / sword_to_offer,欢迎大家多多 star
。另外在 CSDN
有全面题解:[剑指-Offer] 0. 《剑指-Offer》面试题题解汇总 供大家学习。
我们先介绍下仓库的几个基本要点,下图为进入仓库的界面:
下图
简单总结一下,我们了解一个仓库、一个项目的时候,除源码外我们的直观了解有以下几点:
name
:仓库、项目名称star
:该仓库、项目点赞数,即项目火热程度description
:项目简单描述clone
:将项目进行本地 clone
或是 download
下载readme
:一个 Markdown
文档,是我们全面学习该项目的必备文档,包含项目使用的技术,达到的效果等相关详细介绍。通过以上五点,我们就能大致了解到这个项目到底适合不适合自己了,但是这么多的项目怎么去进行高效搜索呢?总不能一个个的浏览吧,别急,下面我们就开始介绍如何高效搜索!
首先我们进入 GitHub
,这里就不教学 GitHub
的注册了。下面的红框内就是我们的搜索入口了:
例如:我们以关键词搜索 C++
,只需在搜索入口中敲上 C++
这个关键词即可,弹出搜索结果:
我们能发现,与 C++
相关的项目足足有 58W
个之多,不利于选择,根本找不到适合自己的,感兴趣的项目。这个就是关键词搜索的不足之处,所以我们需要再细化的去甄别,进行精确、高效的搜索。
通过 in
限定符,我们可以将搜索限制为仓库名称(name
)、仓库说明(description
)、自述文件内容(readme
)、语言(language
)、星号数量(stars
)等方式进行搜索或这些的任意组合。
只需要在搜索入口中键入 in:name RSA
,就能进行按仓库名称 name
以关键字 RSA
进行搜索查找了,此处是不区分大小写的关键词搜索,会在众多项目中匹配出我们键入关键词的项目。
这个搜索是很重要的,通常星号数量来衡量一个项目的火爆程度,也是我们鉴定高品质项目的一个标准。搜索方式以官方文档为例:
可以使用大于、小于和范围限定符基于仓库具有的星标数量搜索仓库
限定符 | 示例 |
---|---|
stars:n stars:500 | 匹配恰好具有 500 个星号的仓库。 |
stars:10…20 | 匹配具有 10 到 20 个星号、小于 1000 KB 的仓库。 |
stars:>=500 fork:true language:php | 匹配具有至少 500 个星号,包括复刻的星号(以 PHP 编写)的仓库。 |
我们可以指定编程语言进行搜索,以适合自己的编程语言进行搜索。
以上我们简单介绍了通过单独的 5 种仓库搜索限定符来进行高效搜索的方式,但通过单独的一种所筛选下来的项目总数还是太多了,不利于甄别鉴选。而这些仓库搜索限定符其实是可以任意组合来缩小结果范围,这样就能大大提高搜索效率了。举几个简单的例子:
当然可以根据项目 forks
数,项目的最后更新日期,项目大小等等组合方式来进行搜搜,总有一款或多款适合你的项目在等着你。尤其可以注意这个项目的最后更新日期,越近的话说明这个项目越活跃,并且也在与时俱进,能够接触到前沿技术。
至此,大家认为 GitHub
是不是一个大宝藏呢?我们不仅能在里面学习到各类流行的开源项目,并且还能为开源社区做贡献,这就是我们程序员、极客手指上的艺术!
关于 GitHub
的知识,我们可以仔细查看 官方文档:Github 搜索帮助,里面中英文可调节,简单易懂,很有帮助。
目前除过那种方式,我们可以通过修该 hosts
文档的形式,或者更换为 chrome
、谷歌、火狐浏览器的方式来加快进入 GitHub
网页界面的方式。
这个问题属实太真实了,经常下载项目 8kb,10kb
的跑,真的很耽误时间。由于 GitHub
,毕竟在国外,慢也是情有可原。我们可以通过 码云 来帮助我们完成这个工作。
首先找到需要下载的项目,到 clone/download
位置点击下,并拿到链接:
进入码云(注册就不教学了),仓库—> +
—>从 GitHub
导入仓库
弹出以下界面,选择从 URL
导入,将复制的链接填入,设置一些自定义选项,确定即可:
这整个过程可能也需要等待几十秒或者 1min
的时间,但速度也是非常快了,导入成功界面如下:
然后我们再在码云上进行 克隆/下载 的操作就会变得非常快了,这个速度基于网速,博主 100 兆宽带基本就 1M/s
。
这样就下载下来了,但是我们在进行提交的时候将会提交到码云上面,因为它是关联到码云的,那么我们需要提交到 GitHub
上的话就需要进行修改 .git
文件了,其中 .git
文件夹是隐藏文件,找不到的话,需要特殊处理下(百度即可):
然后再 .git
文件夹内找到 config
文件,以记事本形式打开并修改远程地址为 gitHub
,即可重新关联到 gitHub
。
然后再在本地进行修改、提交的操作就能直接提交到 GitHub
上了
码云提供转接服务,工具云 你值得拥有!
至此,大功告成~~!
首先,我也是个初学者…我觉得应该多多找找大佬的指点教育,会给出书单、阶段性测试啊什么的,这个很有帮助。关于项目,我认为不要自己过度去寻找,去看看有哪些公认的优秀开源项目值得去做、适合去做,等积累到一点程度后再进行自主学习。网上资源很丰富,希望能够合理利用。
来波宣传~~博主的《剑指-Offer》刷题 OJ
的代码仓库需要你的 star
:Y-puyu / sword_to_offer,欢迎大家多多 star
。另外在 CSDN
有全面题解,以及 OJ
链接及总结,很详细:[[剑指-Offer] 0. 《剑指-Offer》面试题题解汇总]。
希望本博文对你有帮助,一起学习,一起加油!!!