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。
这时有两个sign in。本喵果断选择了第一个sign in ,因为它是免费的,并且完全可以满足日常的使用,多金土豪小伙伴可以告诉喵君第二个有多香
Create & Publish Repository
登录之后,我们就可以创建一个新的仓库(repository),本文以创建一个github上的公开仓库为例。
输入名字(name),描述(Descriptipon),本地路径(Local path,一般为新的空文件夹),然后点击Create repository:
这时本地路径(Local Path)中的文件MyKaggle文件夹已经与你创建的仓库(Repository)相互联系,在Windows管理器下也发现文件夹里有.git文件。
往文件夹中添加项目文件后,Github Desktop界面中Changes一栏,显示了刚刚我们存放到仓库的文件:
然后来到关键一步,每一次提交都需要对提交的代码进行描述。输入总结(Summary),描述(Descriptipon),然后点击Commit to master ,万事具备:
点击Commit to master之后,change就会清空,然后点击右上角的Publish repository:
在弹出的窗口中,可以根据自己需要选择是否私有,然后点击Publish repository,这个提交过程需要花费一点时间。
到此,项目代码就提交完毕,我们可以上GitHub官网查看我们刚刚提交的项目:
Clone
我们现在在家里电脑上发布了代码,那么我们如何同步到公司的电脑呢?只要我们在公司的电脑也下载GitHub Desktop,并登陆账号即可。
登录GitHub官网,找到之前提交的项目,点击右上角的Clone or download,再点击Open in Desktop:
填写要克隆的本地路径,然后点击Clone:
等待克隆完成就可以在公司的电脑愉快地撸代码啦!
Push & Pull origin
这个时候,有童鞋可能会问,如果在公司的电脑修改过项目代码,如何同步到家里的电脑?
这个时候,有童鞋可能会问,如果在公司的电脑修改过项目代码,如何同步到家里的电脑?这个时候,有童鞋可能会问,如果在公司的电脑修改过项目代码,如何同步到家里的电脑?
跟之前一样,代码有变化会在GitHub Desktop内Changes显示,我们填写好summary和description 然后Commit to master:
再点击右上角的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,大家可以理解为一个大框架的分类:
填写好名字,描述,比如我想写的是名为“Python学习之路”的笔记,然后点击Create project:
新的project内没有内容。需要根据自己的个人需求创建column(博客的分类),这里本喵创建了三个,分别是Python基础、Pandas和Matplotlib:
创建issue
issue最初的功能是用来追踪各种想法,增强功能,任务,bug,收集反馈和报告。而对于我们构建的blog来说,issue就是我们写文章的地方,通过labels给文件打标签或者关键词。
来到issue界面,我们可以先设置labels:
labels有默认自带的,也可以自定义labels,填写好名字和描述,点击Create label。这里本喵创建的是“心得”,并给出了一句描述,说明我的博客里会有标签为“心得”的各种内容:
回到issue,点击New issue就可以开始写我们的第一篇博客啦!
**issue的编写支持Markdown语法,非常方便。**写好了我们的第一篇博客之后,需要在右边选择对应的labels,表明这篇博客的主题。然后选择将博客放到刚刚创建的“Python学习之路”project里,然后点击Submit new issue。
添加cards
这个时候,回到project:
点击进入我们的project,可以发现右上角的Add card出现了蓝点的提示,我们点击进入,就可以发现我们刚刚写完的博客:
我们可以直接把它拖拽到其中一个列(column)上,点击这个卡片,在右边还会显示博客的预览。直接点击Go to issue for full details,就可以浏览刚刚的大作了:
创建contents
一个没有目录的博客是木有灵魂的,如何添加呢?回到code,我们可以修改README自述文档来添加目录:
在README里加入我们刚刚新建的project的超链接,这样就创建好了一个带有文章链接的目录:
预览一下,如果觉得没有问题,就点击Commit changes
deng deng~ 这样我们的blog就完成了,我们可以创建更多的project和issue来丰富blog,管理代码的同时记录自己学习的每一步,在知识的海洋里翻滚~
开源项目&同性交友
开源项目
很多python的初学者总是抱怨,苦于没有项目练手。Github简直就是项目的宝库。
其实通过刚刚的入门教程,我们已经发布了第一个项目到GitHub社区,别人可以在GitHub上看到我们的项目(前提是没有设置为私有)。
在这里各种大神贡献了大量的开源项目,我们可以通过fork大神的项目,然后clone到本地快乐地撸代码。
就拿前段时间非常火的狗屁不通文章生成器来说,只需要注入一个灵魂主题,就能生成一篇狗屁不通废话连篇的魔幻形式主义大作!如此有趣的项目我们如何clone到本地把玩呢?
- 附上狗屁不同文章生成器的传送门:https://github.com/menzi11/BullshitGenerator
打开链接之后,点击Fork就可以把大神的项目保存到自己的GitHub上,然后点击Clone or download可以把项目下载到本地进行深入研究,妈妈再也不担心我没有项目可做啦!
同性交友
看到大神狂拽炫酷的code是不是突然心动了?有一种遇到可以一起撸代码的好基友的感觉?没错,GitHub还有另一个名字——全球最大的同性交友社区GayHub
我们来回顾界面,也许你也早已发现了端倪:
找到基友后,我们可以通过issue或者request进行交流,其乐融融。
这么美好的交友平台,还即将推出 GitHubApp,以后会更加便捷~
总结
好了,本喵介绍GitHub的各种玩法,小伙伴们有木有觉得发现了新大陆?!赶紧去GitHub玩耍吧!
- 本文作者:城市数据团数据分析师(Python)微专业学员喵君作品
- 编辑:城市数据团