文科妹子都会用 GitHub,你这个工科生还等什么

在某乎上刷到一条关于 GitHub 的留言,如下:

点赞人数还不少,这说明还真有不少工科生不会用 GitHub,你看大小写都没有区分(手动狗头)。所以我就想写篇文章科普下,“新手如何使用 GitHub?

01、GitHub 是什么

维基百科是这样定义的:

GitHub 是通过 Git 进行版本控制的软件源代码托管服务平台,由 GitHub 公司的开发者 Chris Wanstrath、PJ Hyett 和 Tom Preston-Werner 使用 Ruby on Rails 编写而成。

那 Git 又是什么呢?

再来看维基百科的定义:

Git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于 2005 年以 GPL 协议的形式发布,最初目的是为更好地管理 Linux 内核开发。

简单点说就是,Git 是一个命令行工具,一个分布式的版本控制系统。它可以在背后默默地帮你管理和跟踪代码的历史版本,就好比一个时光机,让你在代码出错时不至于手足无措,快速回退到之前的历史版本。

想了解更多 Git 方面的知识,可以点击这个链接跳转:

https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F

很多初学者误认为 Git 就是 GitHub,但其实不是的。GitHub 是一个代码托管网站,只不过背后使用了 Git 作为版本管理工具。主要服务就是将你的项目代码托管到云服务器上,而非本地硬盘上。类似的网站还有 gitlab.com 和 gitee.com(国内版,中文名叫码云)。

02、GitHub 可以做什么

Do whatever you want.

上面这个答案是创始人之一 Chris Wanstrath 说的,我表示无法反驳。

1)托管代码

GitHub 会自动帮你记录代码的修改,在必要的时候,能够帮助你快速回退到之前的历史版本。

2)搜索开源项目

GitHub 是世界顶级开发者的聚集地,在这里你几乎可以找到任何你想要的东西。上面分享有许多优秀、著名的开源项目,在遵守其 License 的前提下,你可以免费使用、下载这些开源项目。这也是 GitHub 最为吸引人的地方。

通过下面这个网址可以查看 GitHub 上 TOP 200 的优质开源项目:

https://www.githubs.cn/top

其中就包含了我前段时间给大家推荐的 GitHub 上最励志的计算机自学教程

中文版离线 PDF 下载地址如下所示:

https://pan.baidu.com/s/1tOyMq3sGa2-xuajGJJYwOQ,提取码:om0i

关于优质项目的搜索,你可能需要一些技巧:

https://juejin.im/post/6891056415440535565

你可能还需要一些方法:

https://www.zhihu.com/question/20084458/answer/1368411995

3)使用 GitHub Pages 搭建一个免费的博客网站

GitHub Pages 提供静态网页托管服务,它直接从 GitHub 上的仓库获取 HTML、CSS 和 JavaScript 文件,然后构建并发布网站。

配合 Jekyll、Hexo、Hugo、Pelican、Gridea 等第三方静态模板系统可以快速搭建一个漂亮的博客网站。比如说我的个人博客用的就是 Jekyll,访问地址如下:

http://www.itwanger.com

4)学习,提升能力

GitHub 有太多太多优质的教程资源,只要你肯去挖掘。下面这个网址列出来的资源都不错。

https://www.githubs.cn/awesome

比如说面试和刷题:

下面这个网址列举了一些非常不错的书单:

https://github.com/itwanger/JavaBooks

5)提升影响力

你可以将自己的开源项目发布到 GitHub 网站上,项目越受欢迎获得的 Star 越高,说明业界对你的能力越认可。一份优秀的 GitHub 主页,能为自己的简历润色不少。

我最喜欢的两个实战项目(推荐过无数次了),来自我的好朋友江南一点雨和 macrozheng。

微人事(19.2k star)的地址:

https://github.com/lenve/vhr

电商系统(43.1k star)的地址:

https://github.com/macrozheng/mall

当你看到这么多 star 的项目,并且真的是名副其实的好项目,是不是就特别佩服它们的作者,实话实说,我既是他们的朋友也是他们的粉丝。

6)其他

  • 图床,单纯地把 GitHub 做一个网盘。
  • BBS,单纯地交友互动聊天吹逼。
  • 翻译,之前有阿里的朋友就利用 GitHub 重写了一本《Java 并发编程》,在线访问地址:

https://github.com/RedSpider1/concurrent

离线版的 PDF 下载地址:

https://pan.baidu.com/s/11Z-IfAPEZNFWp_mAtqDIKw,提取码:drjx

03、注册 GitHub 账号

说了这么多 GitHub 的好处,还等什么,赶紧去注册一个 GitHub 账号吧!

https://github.com/join

一个 GitHub 账号除了可以作为交友的名片,当然也可以用来登录一些英文的学习网站,比如说 GeeksforGeeks

04、下载 GitHub 桌面版

当然可以直接在 GitHub 网页上操作,不过,对于新手来说,一个 GitHub 桌面版更方便、更直白、更傻瓜式一些。

https://desktop.github.com/

05、创建新项目

我现在要写一个《教妹学Java》的专栏,需要一个仓库来存储代码,怎么做呢?

打开 GitHub 桌面版,选择「File」→「New Repository」。然后填写仓库名、简介,选择仓库存放的本地路径,就可以点击「Create Repository」 创建新项目了。

创建完成后,可以在网页端看到该仓库。

(咦,怎么刚创建就有 star 了?)

06、fork 项目

如果你在逛 GitHub 的时候,发现了一些不错的项目,想占为己有,那太方便了,只需要一个 fork 就能搞定。

前几天,我发现了一个很有意思的项目:state-of-the-art-shitcode,中文译作垃圾代码书写准则。不过,代码示例是用 JavaScript 编写的,并且中文翻译得很烂。

怎么办呢?fork 它,然后就可以重制成 Java 版,并且按照我的风格进行翻译。

07、克隆项目到本地

GitHub 的一个好处就是,它把项目存放在云端,当你需要的时候,只需要克隆到本地就可以了。

打开 GitHub 桌面版,选择「File」→「Clone Repository」。 可以直接克隆你账号下的项目,包括你创建的、fork 的、star 的。

也可以通过 URL 的形式进行克隆,这时候,还可以指定码云上的项目进行克隆。

08、编辑项目

建议你在电脑上安装 Sublime Text,一款颜值非常高的文本编辑器,安装成功后,GitHub 桌面版默认自动使用它来关联项目。

打开后,是这样的(见下图),不得不说,颜值真的高。

编辑一段文字后保存,可以在 GitHub 桌面版看到发生变化后的文件。

填写文件更改后的描述就可以点击「Commit to master」(GitHub 从 10 月份起将 master 更名为 main)按钮提交了。

点击「Push origin」 可以同步到 GitHub 云端仓库。

09、回退到历史版本

如果一不小心提交错了,怎么办呢?

点击「History」 面板,找到你要回退的历史版本,右键选择「Revert this Commit」。

再次点击「Push origin」就可以了。

10、同步云端

GitHub 可以多人协作,如果本地想和云端保持同步,可以在 GitHub 桌面版上点击「Fetch origin」

如果发现本地和云端有不一样的地方,就可以点击「Pull origin」 从云端拉取了。

11、还想进阶

通过以上这些基本操作,我想你一定会用 GitHub 了。

反正入门嘛,先不要去管 issue 啊、pr 啊、wiki 啊,能够迅速地通过实战得到反馈对于学习一门新的技能来说实在是太重要了。只要入了门,有了信心,你会爱上 GitHub 的。

如果你不满足于现状,还想更进一步,可以到 GitHub 官方按照课程进行学习。

https://lab.github.com/

除此之外,我再推荐给你一本不错的入门书籍《GitHub入门与实践》:

码字不易,希望你们能够喜欢,如果能够对你起到一点点帮助,那就太好不过了!

温馨提醒一点,记得让它躲进收藏夹吃灰哦,顺带点个赞就更好了!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容