一篇文章快速搞懂什么是GitHub

 

导读:什么是GitHub?Git与GitHub之间是什么关系?我们为什么需要版本控制系统?GitHub如何使用?本文将带你一探究竟。

本文字数:1710,阅读时长大约:13分钟

一、什么是版本控制

按照百度百科的说法:“版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。”

这里的核心词是对“文件变更的管理”,其实不管是写代码还是写文档,当文件发生变更时都会有两个绕不开的问题:一个是文件版本的管理,另一个是团队如何协作。

比如当你在做一份报告时,每一次比较大的改动可能都会做一个副本,以备后面有改回来的需要。每一个副本文件名都加一些不同的后缀,比如数字、字母、日期等等。不过可能时间一长,你自己也不记得每个副本都做过的哪些修改,甚至找不到最后一个版本是哪份文件了。又比如当一个团队需要去修改一份数据文件,小明、小红、小刚等人都在同时修改,每个人的修改是否都能被包含在数据文件里,最终的文件以哪一份为准?在这些场景中,我们都需要一个文件版本控制系统来帮助我们解决文件的版本问题以及团队协作的问题。

 

版本控制系统可以帮助我们记录文件的变更,包括在什么时间、被什么人、修改了哪些内容。这样我们就不用在自己的电脑里保存那么多份文件副本了,只需要将每一次的修改提交到版本控制系统中去。如果未来需要文件回溯,可以直接在系统中选择历史版本,非常简单方便。另外在软件开发中往往是一个团队共同进行,版本控制系统可以支持并行开发,能够通过分支、合并等方式有效地解决修改冲突。

 

版本控制系统有很多,除了我们今天要介绍的 Git,比较常用的还有 Subversion, CVS,和 Mercurial。 

 

 

二、什么是 Git

Git,最初是由 Linux之父 Linus Torvalds在2005年开发出来的一款开源的版本控制系统。和其他版本控制系统一样,它最核心的一个概念就是仓库(repository)。仓库其实就是在电脑中开启了Git记录的一个文件夹/目录。仓库中可以包含多个文件以及子文件夹。Git中的仓库是存储在本地电脑上的,不像其他的版本控制系统(比如Subversion)将仓库存储在服务器当中。这就意味着Git允许你在电脑不联网的情况下也可以正常工作,你可以修改文件、提交、查看修改历史、分支、合并等等。

 

Git最初只有命令行,后来也开发出了桌面版GUI的程序,不过桌面版GUI功能有限,想要使用最完整的功能,还是建议使用命令行。

 

 

三、什么是 GitHub

Git虽然是一个很好的版本管理系统,但是只通过命令行的方式来使用还是有一些不方便。于是在2008年,开源社区开发了一个叫GitHub的网站。它可以存储所有的Git仓库,并且提升了开发者们之间的协作体验。GitHub迅速成为了开源社区的宠儿,大量开源项目纷纷落户,使用它来做版本控制以及沟通协作。现在有成千上万的公司也加入了进来,使用GitHub作为公司内部的版本控制系统。

 

时至今日,GitHub已经不再单单是一个版本管理的网站,它更像是一个开源社区的社交工具。很多开发者们都会在上面去逛,看看有哪些好玩的、自己感兴趣的项目。我们也可以看到其他开发者们参与过哪些项目,每个人都好像有一张自己的名片。当你想要参与到某个项目中去时,项目管理者也可以根据你的记录来选择是否接受。

 

 

四、Git的安装与使用

了解了Git与GitHub的原理之后,我们来看一下如何使用GitHub创建一个新的或者使用一个项目。

(1)打开GitHub的网站www.github.com

如果还没有账户,可以按照提示注册一下。

(2)创建一个新的仓库

点击创建仓库(Create repository)按钮

 

填写仓库(项目)名称,设置成公共/私有仓库,同时可以初始化一个README文件。

创建成功

(3)在本地电脑安装Git

以 CentOS为例,使用 yum install -y git 命令安装;其他操作系统可以参考Git官方网站的安装手册 

//git-scm.com/downloads

安装好后不要忘了配置 Git账号

(4)将GitHub的仓库复制到本地

点击Code按钮,将仓库的URL复制下来。

使用 git clone + url 的命令将仓库复制到本地

(5)在本地添加一个新文件

进入github-test文件夹,添加一个hello.c的文件。

使用 git status 命令查看当前状态,系统提示有一个未跟踪的文件hello.c,建议使用git add命令来包含要提交的内容

使用 git add 命令添加要提交的文件

使用 git commit -m “comments” 来提交修改;注意,这里的提交只是提交到了本地的 Git仓库,如果想同步到 GitHub还需要使用到 git push命令

使用 git push 命令将修改同步到 GitHub

回到GitHub,可以看到新的文件被添加进来

 

 

获取知识干货、增加面试经验、了解职场人生

欢迎关注微信公众号