2019 年 11月 13-14 日,GitHub 举办了年度开发者大会 GitHub Universe 2019。今年的 GitHub 大会最大的亮点莫过于——GitHub Archive Program 代码永久保存计划。
启动此项计划是基于何种理由?GitHub官方给出了答案
世界由开源软件提供动力。它是现代文明的隐藏基石,也是全人类的共同遗产。
GitHub Archive Program 的任务是为后代保留开源软件。
![](https://img.haomeiwen.com/i15999816/3a45abc016605512.jpg)
为了把开源软件留给子孙后代,GitHub将在 2020 年 2 月 2 日为所有公共存储库生成快照,保存在北极一个地下 250 米的废弃煤矿,快照储存在胶片上,寿命高达 1000 年。
我的老天儿!你是不是也跟喵君一样感到前所未有的震撼和神奇!与此同时也充满了疑惑:
- GitHub是个什么玩意儿,为何有如此硬核的能力?
- 我们该如何优雅地使用GitHub管理自己的code(bug),把code(bug)传给世人?
- GitHub还有哪里有趣好玩的地方?
跟着喵君来一探究竟!
Github是什么
GitHub是一个用于版本控制和协作的代码托管平台。它可以让你和其他人在任何地方一起工作。
试想一下我们是不是经常遇到这样的场景:
当我们书写各种代码时(也包括各种office、adobe文件时),经常要和他人进行合作。公司N个文件,家里N个文件,项目文件夹异常混乱。更别说你的同事小王还在你更新了很多内容后,给你他做的过程文件让你合并,你也不知道哪些文件改过了,哪些没有,非常低效。
![](https://img.haomeiwen.com/i15999816/3d8e9714c8242ee4.png)
所以Github的出现了,他让协作者们可以把代码共享到虚拟主机上,就可以非常便捷的实现代码的同步。
![](https://img.haomeiwen.com/i15999816/25e26d7e4ed56165.png)
正是因为具有如此强大的功能,仅去年一年,就有 1000 万新开发者加入 GitHub社区,为全球 4400 万个开源项目做出了贡献,自2014年以来,GitHub的贡献者在不断增长。
![](https://img.haomeiwen.com/i15999816/7a584844665328d9.png)
没错,GitHub就是通过这样方式的存放代码,把代码留给子孙后代。那么,我们如何通过GitHub管理自己的code, 并且把bug留给世人呢?
如何优雅地使用Github
代码版本管理的工作,很长一段时间只是程序猿们的工作,所以文件管理也会使用很多繁杂的git命令。事实上,GitHub是使用Git来通过版本控制的,Git是一个分布式版本控制系统,最初是为了帮助Linux而开发的。
如果你对这些名字都不熟悉,没关系,你只要知道程序员是用下图这种方式来管理代码文件的:![](https://img.haomeiwen.com/i15999816/c89799e717a61810.png)
![](https://img.haomeiwen.com/i15999816/c59bc9bfddd19efd.png)
但随着互联网的发展和技术的革新,越来越多的半程序猿加入到GitHub社区,Git命令对于新手玩家来说也不太友好(大神请绕道),而GitHub就是基于Git建立起来的一个代码托管服务平台。俗话说得好,用最少的代码,做最高效的事。所以本喵决定教大家如何优雅的使用小白入门神器GitHnb Desktop。
这是一个非常友好的GUI界面,能让我们快速上手代码管理。![](https://img.haomeiwen.com/i15999816/e61615d81888022d.png)
准备工作
- 首先注册一个GitHub账号 https://github.com/
- 下载 GitHnb Desktop https://desktop.github.com/(本文以Windos为例)打开以后长这样:
Sign in
做完热身之后,我们首先需要登录账号。点击左上角的File,选择Options。![](https://img.haomeiwen.com/i15999816/289c332723fcf6e6.png)
![](https://img.haomeiwen.com/i15999816/4d78b667190e3c9f.png)
Create & Publish Repository
登录之后,我们就可以创建一个新的仓库(repository),本文以创建一个github上的公开仓库为例。![](https://img.haomeiwen.com/i15999816/e6b5b8035e74bc95.png)
![](https://img.haomeiwen.com/i15999816/5e46cc4b88cfc589.png)
![](https://img.haomeiwen.com/i15999816/55504635d8f3da11.png)
![](https://img.haomeiwen.com/i15999816/4d7d28f63965eb5a.png)
![](https://img.haomeiwen.com/i15999816/da3a60a9894f3fa5.png)
![](https://img.haomeiwen.com/i15999816/839076c8b228fb15.png)
![](https://img.haomeiwen.com/i15999816/69d4465b0bbb3037.png)
![](https://img.haomeiwen.com/i15999816/d8a01eed1e7543f0.png)
Clone
我们现在在家里电脑上发布了代码,那么我们如何同步到公司的电脑呢?只要我们在公司的电脑也下载GitHub Desktop,并登陆账号即可。
登录GitHub官网,找到之前提交的项目,点击右上角的Clone or download,再点击Open in Desktop:![](https://img.haomeiwen.com/i15999816/45cefa3025225c59.png)
![](https://img.haomeiwen.com/i15999816/61dbc073dd52090f.png)
![](https://img.haomeiwen.com/i15999816/a833640cbd2bdd38.png)
Push & Pull origin
这个时候,有童鞋可能会问,如果在公司的电脑修改过项目代码,如何同步到家里的电脑?![](https://img.haomeiwen.com/i15999816/affb164741fa21b6.png)
![](https://img.haomeiwen.com/i15999816/ba4e499a132eea1c.png)
再点击右上角的Push origin,我们就把修改过的项目代码更新到GitHub上:
![](https://img.haomeiwen.com/i15999816/a5639c8699c4ec8f.png)
这时回到家里的电脑,打开GitHub Desktop,就会看到右上角变成了Pull origin,并且有一个向下的箭头。点击一下就能把刚才在公司修改过的项目代码同步到家里的电脑:
![](https://img.haomeiwen.com/i15999816/efab7575a5b63b7d.png)
有了这个神器,代码版本管理变得so easy。当然,GitHub 还有更多更强大的操作,比如branch, pull request, merge request等,想要入坑的童鞋继续深挖。
用Github写博客是怎样的体验
在日常工作中,难免需要记录一些笔记、学习心得在Blog里,作为个人学习、找工作或交友时的项目展示。目前大家常用的有CSDN、简书等等,但是这些网站的界面广告繁多,也不是完全为技术交流准备的,所以很多编程者选择自己搭建Blog。
前一段时间非常流行hexo+GitHub搭建个人博客,但这种做法偏向于技术流。作为更专注于内容本身的意识流喵君,教你如何使用GitHub自有的project和issue实现Blog功能。
创建Repository
首先还是登录GitHub网站,创建一个repository作为博客基地,给它起名(Name)并添加描述(Description):![](https://img.haomeiwen.com/i15999816/4af85e8d34214c84.png)
创建Project
然后进入刚刚创建的Repository,选择上面的Projects,然后点击Create a project。这里project,大家可以理解为一个大框架的分类:![](https://img.haomeiwen.com/i15999816/ed9ecdbf7a5ceeea.png)
![](https://img.haomeiwen.com/i15999816/322bf163b5ab1f5b.png)
![](https://img.haomeiwen.com/i15999816/8439e9e65f9ca2b8.png)
![](https://img.haomeiwen.com/i15999816/4c871196610483e2.png)
![](https://img.haomeiwen.com/i15999816/4f6afb31f09240cf.png)
创建issue
issue最初的功能是用来追踪各种想法,增强功能,任务,bug,收集反馈和报告。而对于我们构建的blog来说,issue就是我们写文章的地方,通过labels给文件打标签或者关键词。
来到issue界面,我们可以先设置labels:![](https://img.haomeiwen.com/i15999816/28282deeccb275d4.png)
![](https://img.haomeiwen.com/i15999816/51fd111a99d21e8e.png)
![](https://img.haomeiwen.com/i15999816/dec20a66180d34b8.png)
issue的编写支持Markdown语法,非常方便。写好了我们的第一篇博客之后,需要在右边选择对应的labels,表明这篇博客的主题。然后选择将博客放到刚刚创建的“Python学习之路”project里,然后点击Submit new issue。
添加cards
这个时候,回到project:![](https://img.haomeiwen.com/i15999816/391522928fe1812a.png)
![](https://img.haomeiwen.com/i15999816/fa0933138cd310bf.png)
![](https://img.haomeiwen.com/i15999816/1bc5fb9edbb49de6.png)
![](https://img.haomeiwen.com/i15999816/752dddff8e7879db.png)
![](https://img.haomeiwen.com/i15999816/f3d07a30197ce06e.png)
创建contents
一个没有目录的博客是木有灵魂的,如何添加呢?回到code,我们可以修改README自述文档来添加目录:![](https://img.haomeiwen.com/i15999816/3486afec685a7702.png)
![](https://img.haomeiwen.com/i15999816/f9a43091ac4a63e2.png)
![](https://img.haomeiwen.com/i15999816/dcd6b4c2c35b33ed.png)
![](https://img.haomeiwen.com/i15999816/fa2685188be303c3.png)
开源项目&同性交友
开源项目
很多python的初学者总是抱怨,苦于没有项目练手。Github简直就是项目的宝库。
其实通过刚刚的入门教程,我们已经发布了第一个项目到GitHub社区,别人可以在GitHub上看到我们的项目(前提是没有设置为私有)。
在这里各种大神贡献了大量的开源项目,我们可以通过fork大神的项目,然后clone到本地快乐地撸代码。![](https://img.haomeiwen.com/i15999816/cc081e51c33d1387.png)
![](https://img.haomeiwen.com/i15999816/8274f366b05a5ebd.png)
- 附上狗屁不同文章生成器的传送门:https://github.com/menzi11/BullshitGenerator
![](https://img.haomeiwen.com/i15999816/8075386b69b435a8.png)
同性交友
看到大神狂拽炫酷的code是不是突然心动了?有一种遇到可以一起撸代码的好基友的感觉?没错,GitHub还有另一个名字——全球最大的同性交友社区GayHub![](https://img.haomeiwen.com/i15999816/35481db47b1ffca5.png)
![](https://img.haomeiwen.com/i15999816/17785d17690666fb.png)
![](https://img.haomeiwen.com/i15999816/8cd4ec85a76ea01f.png)
![](https://img.haomeiwen.com/i15999816/de1f5be301c1e437.png)
总结
好了,本喵介绍GitHub的各种玩法,小伙伴们有木有觉得发现了新大陆?!赶紧去GitHub玩耍吧!
还想知道更多GitHub的骚操作?
关注 大鹏教你玩数据 公众号,后台回复【53】即可获得一份来自官方的GitHub教程。
到公众号 点击阅读原文 可获得一份免费python入门教程。
- 本文作者:城市数据团数据分析师(Python)微专业学员喵君作品
- 编辑:城市数据团
网友评论