Githug攻略本(一):学习Git的金山打字通

原创
运维 系统运维
目前大家公认,github 是程序员的 facebook。几个月前,本文作者了解到 Githug 这个项目,感觉相当于 Git 的金山打字通。对于现代程序员而言,学习 Git 已经不是什么新潮的事情,而是成为了一种必要的技能。为了帮助大家更简单娱乐的学习 Git ,本文作者献上这个《Githug攻略本》系列,希望能让更多的程序员们用上 Git ,爱上 Git。

【51CTO专稿】编者按:从今天开始,51CTO将连续刊登《Githug攻略本》系列。本系列作者名叫刘辉,长沙小伙儿,热衷RoR与Git,也做一些iOS开发,《Git Community Book中文版》的译者,在去年年初写过《Git历险记》系列。这次的系列顾名思义,还是跟Git有关,但却和一般的教程不太一样——这是一个游戏的攻略本。俗话说在游戏中学习,Githug就是这样的一个项目。

本篇是系列***篇,让不了解Git的各位对Git和Githug这个项目有一个了解,让了解Git的各位对Githug这个项目有一个了解。这年头,不用Git的程序员真的已经Out了。如果你还没有下定决心学习Git,不妨试试看以Githug做一个起点。

以下为正文。

为什么要用 Git ?

Git 是 Linus 为了更好的管理 Linux 内核而开发的一个分布系版本控制软件,最初的开发目的为了取代 BitKeeper。现在,Git 已经发展成目前世界上***的版本控制软件。

无数的软件系统现在正在使用Git : “Linux”、”Android”、”Ruby on Rails”、”Qt” …… 而且现在很多其它以前没有使用 Git 的开源软件系统也正在计划转向 Git。

程序员的 Facebook

目前对程序员交流方式影响***的当属 Github,他几乎改变了开源软件的协作方式。

在若干年前,我看开源代码时,一般是跑到 SourceForge 去搜索,然后下载源代码。我记得当时 SourceForge 用的是 CVS,一般人想在上面申请一帐号建立仓库是很难的事情;而且一般的开发者和项目的 owner 之间互动很少。

再后来开始使用 code.google.com,当时使用的是 SVN, 虽然可以自由的申请帐号创建仓库,但是开发者和使用者之间的互动并没有多少改观。

现在开始使用 github.com,最开始使用 github, 是因为想要翻译 Git Communnity Book中文版。我最开始是自己一个人把翻译,译完后的内容提交到自己仓库 里。后来 liuw 同学加入了进来,他 fork 了我的仓库,然后每次译完后他提交到他自己的仓库,我再把他的工作合并进来。再后来,有很多朋友也可过来帮忙,他们 fork 了我的仓库后,发现了我翻译中的问题,直接给发一个 pull request, 然后要只在 github 界面上点击,就可以直接合并到我的 仓库 。

目前大家公认,github 是程序员的 facebook,当然这也和 Git 分布式版本控制的特性密不可分。

Github:程序员的Facebook

Github:程序员的Facebook

Paas 应用

读者中如果有 web developer 的话,肯定对软件部署过程的繁琐深有体会。

Web应用部署

Web应用部署(图片来源

但是现在:

$ heroku create
Created sushi.herokuapp.com | git@heroku.com:sushi.git

$ git push heroku master
-----> Heroku receiving push
-----> Rails app detected
-----> Compiled slug size is 8.0MB
-----> Launching... done, v1
http://sushi.herokuapp.com deployed to Heroku

在 heroku 这个 Paas 平台的只需要二行命令: heroku create、 git push heroku master就可以在服务器上创建应用并部署;当这离不开 Git 的支持。

移动开发

  • Android

Android 之父 Andy Rubin 在他的微博上有一句被人广为引用的话:

开放的定义是:
the definition of open: 

mkdir android 
cd android
repo init -u git://android.git.kernel.org/platform/manifest.git
repo sync
make

Andy Rubin:开放的定义

通过上面的的五行命令,就可以下载 Android系统的绝大部分源代码,并且成功编译。Android 的源码管理也是基于 Git 的,虽然的有所有扩展。

  • iOS

从 Xcode4 起,Apple 的 Xcode 就内置支持 Git,可以在创建开发项目时,同时创建一个 Git 仓库;如果现在要在 iOS 平台开发复杂的 App,没有 Git 的支持真是难以想像!

但是……Git 不好学。

Git 的学习门槛比较高,学习的过程有一点点像当年学习MFC,学习的曲线特别陡。Git 标准界面是命令行,虽然的有很多优秀的图形界面工具,但是如果在不了解 Git 的原理(或是说熟练使用 Git 命令行)的情况下,想要成功使用Git,就如同一个 C 程序员不懂 指针 一样难以想像。

我从去年4月来到现在的公司,开始组队开发 iOS 上面的产品,同时也在 team 里面推广使用 Git。team 里面有刚毕业的新人,也有工作经验丰富的老手,为了培训使用 Git,我也着实想了不少办法,虽然用了起来,但是花了牛力。我当时在想如果一款像金山打字通一样的练习软件,同时配合相应的教程与面对面交流,定能事半功倍。

前几个月,一个很偶然的机会,我在 ruby-china 上发现了有人在介绍使用 githug

Githug:学习 Git 的金山打字通

Githug is designed to give you a practical way of learning git. It has a series of levels, each utilizing git commands to ensure a correct answer.

以上介绍来自 githug 官网。简单的说, githug 是一个 git 游戏,里面设置很多的关卡来模拟我们在使用 git 命令行的场景;每一个关卡是一个主题,如果把这个游戏玩转了,同时再配合着了解一些 Git 的原理,git 的使用应没有多大的问题。

这就是我心目中的那个金山打字通!

金山打字通

于是我想就配合 githug 来写一个教程,来帮助 Git 的初学者,能让其在学习的过程中起到事半功倍的作用;当然以后在公司里的新人培训上自己也可以拿来做教材,真是一举多得。这就是这次这个《Githug攻略本》的由来啦。

在本系列的第二篇,我会介绍如何配置 Git 和 Githug 的环境。敬请期待!

【51CTO特约专稿,转载请注明出处与原文作者!】 

下一篇:Githug攻略本(二):环境安装

责任编辑:yangsai 来源: 51CTO.com
相关推荐

2009-05-20 11:03:27

打字通假冒产品金山

2012-07-30 13:06:26

GitGithug

2010-01-15 12:33:32

CentOS连接文件

2017-05-22 10:11:11

Hadoop HDFSJava APIHadoop

2010-06-01 10:34:56

2013-11-11 09:26:50

编程思考

2010-05-24 10:38:16

2012-09-13 14:39:47

统一通信统一通信与协作

2022-02-23 07:50:36

LinuLinux操作系统

2009-06-01 10:05:00

高通LinuxARM

2011-06-19 17:22:44

笔记本推荐

2010-09-07 17:40:19

入门android

2009-08-06 14:44:09

极速版产品杀毒软件金山毒霸

2022-06-20 09:01:23

Git插件项目

2012-03-02 15:48:25

笔记本评测

2011-04-29 13:41:36

笔记本液晶屏

2011-04-29 13:41:41

笔记本清洁

2011-04-29 13:41:49

笔记本硬盘

2021-05-13 09:21:06

Docker书籍开发

2011-08-30 22:39:22

笔记本技巧
点赞
收藏

51CTO技术栈公众号