我们作为天天搞计算机的,应该都听说过GitHub吧,不过可能很多人并不知道它可以用来做什么和怎么使用,今天,我将在这里做一个入门教学,希望大家人人都会用GitHub,都能用好GitHub。
GitHub是什么
GitHub是通过Git进行版本控制的软件源代码托管服务,对于所有的用户来说,都可以免费使用。我们可以在上面存储我们自己写的代码,欣赏大神们写的代码,通过代码这个“高级教程”学习编程经验等。最重要的是,当有需要的时候,我们可以随时到GitHub上抄代码。Git技术的资料网上有很多,大家上网搜一搜就可以找到。我最推荐的资料是“廖雪峰”的网站,百度一下“廖雪峰”即可找到,我就是看着这个博客的教程学的Git,算是廖老师的学生了吧,这里就帮他打个广告。
GitHub上的代码仓库分为公开和私有两种,任何人都可以创建一个公开库,这时候所有的人理论上都可以看到你的代码仓库中的任何内容,如果你的代码需要保密,可以创建私有仓库,但是需要成为付费用户才可以,不过对于学生来说只要进行学生认证就可以了,而且还会收获一堆大礼包。
不过,GitHub不仅仅是一个代码的托管网站,还可以发布自己编译好的软件,供别人直接下载使用,每一个仓库都有一个Releases页面。而且,GitHub甚至还具备部分社交功能,你可以关注别人,也可以获得粉丝,这就有点像微博和Twitter了。
关于Watch、Star和Fork
每一个公开的仓库都有Watch、Star和Fork这三个按钮,想必用过的人都知道。很多人并不清楚这三个有什么区别,导致误用或错用。其实啊,如果你点了Watch,之后你就会经常收到该仓库的动态信息,一有动静就会收到邮件。有一次我点了某个比较火的仓库的watch,然后天天收到邮件,甚至一天好多封邮件,接二连三的来,着实让我恼火了一把,后来点了Unwatch就好了,整个世界都清净了。
Star则是对于仓库来说最重要的一个指标了,我们可以理解为点赞,意为你对这个项目感兴趣,或者觉得有趣,或者作者的这个项目很棒我想赞成他。一个项目如果拥有很多的Star,那么往往就代表着这个项目棒棒哒。我们有时候会看到这样的文字,拿到100+的Star就可以获得BAT的工作岗位。暂且不说拿到100+Star到底是什么体验,但是足以看出Star的重要性。所以,如果我们对哪个项目感兴趣,别忘了给他点一个Star哦。
Fork是很多人最容易用错的一个功能,他的本来用途是给自己拷贝一份副本,然后自己修改这个项目的代码,修改好了之后,可以将修改后的内容通过Pull Request提交给原作者的仓库,以对开源社区做出贡献。但是很多人往往以为就是将该项目的代码收藏起来,以备自己将来使用,但是你会发现,你Fork之后的代码是不会与原作者保持同步的,甚至GitHub就没有提供让你跟原作者保持同步的功能,这意味着原作者的新修改的代码你无法得到,新功能你这里没有。如果确实需要同步,还得自己手动进行一堆繁琐的操作。因为Fork本来就是用来临时存放代码然后修改再接着提交Pull Request的,完事之后完全就可以删库跑路了。这一点我又很多感触,我自己有一个代码仓库,稍有些人气,眼看着一堆人Fork我的代码,我以为是自己写的太差,他们想自己修改使用的,后来发现他们对所有仓库都是Fork了事,没有一个Star的,这就说明他们对Fork大概是有什么误解。不过Fork还有一个好处,那就是万一哪天原作者突然把库删了怎么办?那么我们是不是就无法获得这份代码了?这时候,Fork这个功能倒是起了作用,一旦仓库被大量Fork,理论上这份代码就会“一颗永流传”,毕竟不可能所有人把库都删了。
Git Page
GitHub还提供Git Page功能,就像一个网站空间一样,可以托管静态网站页面,还支持自定义域名,对于不想买或者没钱买服务器的人来说,用来作为个人主页或者写博客倒是很不错。而且,每一个代码仓库还可以有一个Git Page,不过需要专门配置,支持自定义域名,可以用来展示项目,或者存放开发文档等。
使用GitHub托管静态网站的具体操作方法请看这篇我朋友的文章:
https://nova.moe/static-web-hosting-on-github/
GitHub还有一个称为Gist的功能,主要是用来存放小型代码项目的,比如说一个C语言上机题的代码之类,具体用法类似,我就不用多说了。
最后祝大家,GitHub玩得愉快,代码没bug,获得1k+的Star数!!!
版权声明本博客的文章除特别说明外均为原创,本人版权所有。欢迎转载,转载请注明作者及来源链接,谢谢。本文地址: https://blog.ailemon.net/2018/08/20/how-to-use-github/ All articles are under Attribution-NonCommercial-ShareAlike 4.0 |