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