零基础,一篇文章,带你了解GitHub是什么

什么是GitHub
GitHub是一个非常强大的SCM(source code management)工具,相信程序猿朋友们应该都了解GitHub,至少或多或少听过或者接触过GItHub。它主要用途是代码的版本管理。当然也有很多人用作文件的管理,例如Office 文档等,因为代码本身也是以文件的形式保存的,所以理论上任何形式的文件应该都可以用GItHub来管理。可以把GitHub理解为一个具有强大版本管理功能的云存储系统,就像AWS 的 S3,或者是GCP(google cloud platform)的Storage。
GitHub使用场景
我们平时自己写一些程序或者编写一些文件,一般会直接保存在本地,但是保存本地有一个问题,那就是如果因为操作失误,将文件误删,导致源文件无法恢复,可能会造成一定的损失;又或者我们想继续上一次编辑的代码或文档继续编写,可是当下电脑却不在身边,那么也将无法满足随时继续编写的需求。
GItHub正式基于以上的使用场景,提供了非常强大且便利的工具。下面来介绍一下GitHub的使用特点:
GitHub提供远程存储功能,可以将本地文件同步到GitHub上,并且随时随地可以将保存在远程GitHub Repo(代码库)内的文件下载到本地,进行连续的文件或代码编辑。GitHub提供了强大的版本管理功能,可以记录所有Commit(将本地文件提交到远程代码库,即Repository)的历史记录,提交者可以在Web界面查看所有的提交历史,并可以查看每次提交记录对应的具体修改内容。编辑者将远程代码clone到本地后,可以强制回退(roll back)到任一历史的commit 节点。

GitHub提供了分支(branch)管理功能,可以实现多人协同开发同一份代码。例如每个人可以根据自己负责的内容从同一主分支生成不同的功能分支,当一个人完成功能代码后,可以向主分支发出Pull Request,也就是请求将自己功能分支的修改合并到主分支上,依次类推,其他人也可以在完成自己的功能代码后,也向主分支发起Pull Request, 这样大家彼此互不依赖,也互不干扰,实现并行开发。当然多人并行开发提交Pull Request时,如果不同的人对同一个文件进行了修改,可能会涉及文件Conflict(冲突)的问题,GitHub也有专门的工具来协助解决文件冲突,例如diff,此文不做详细解释,后面会单独写一篇如何使用GitHub的详细教程,里面会涉及相关内容。

GitHub还提供了代码审查(review)功能,可以保证文件或代码修改的正确性和高质量。例如开发者A修改了代码后,发起Pull Request,在合并到主分支之前,需要指定一个人作为审查者(reviewer)对该部分的修改做人工的审阅,一般会选择一个经验相对丰富,或者对已有代码逻辑较为清楚的人作为reviewer,从而以保证修改内容的正确性。GItHub 也提供了丰富的工具,包括对非开发人员相对友好的UI交互工具,方便非开发人员快速简洁的操作GitHub,同时也提供了更Geek的纯命令行工具,让开发人员可以通过强大的命令行来访问GitHub的功能。这些工具目前在主流的操作系统上都有对应的版本,例如在Windows,Linux, Mac OS下,都有相应的Git工具。一个账号走遍天下。只要一个账号,只要在能上网的地方,就可以随时登陆自己的GItHub,随时随地,在任何设备上同步自己的代码,目前还有手机移动端的GitHub app, 可以在手机上review代码。可以创建私有代码库(private repository),GitHub被微软收购前,private repo是要单独收费的,不过被微软收购后,财大气粗的微软向独立开发者抛出了友好的橄榄枝,允许独立开发者获取免费创建private repo的权限,不过一个账号好像只能创建有限数量的免费的private repo,当然这已经是非常大手笔了。对于private repo, 代码是非公开的,其他人是看不到也搜不到你的private repo内的资料,从而保证了代码或者文件的隐私性。当然我们可以通过添加合作者(collaborator)的方式,来指定某些人可以访问或者共同编辑自己的private repo.
总结
综上所述,可以看出,GitHub在代码管理上有着非常强大的功能,所以它在程序员的世界中是非常受欢迎,也是应用最为广泛的SCM工具。其实GitHub还有很多其他强大的功能,不过作为程序员,以上场景是日常开发中接触比较频繁,也是使用最为广泛的功能。下一篇我将会详解讲解一下,作为零基础或者初次接触GItHub的人,如何正确快速的创建自己的Git Repo,并部署自己的代码到远程Reop中。希望能帮助到需要的小伙伴。
标签:
64
军嫂好当吗?朱德老总一生娶了六任妻子,前两任妻子都经历了什么 朱德的情路:六段婚姻背后的故事 朱德,那个在中国革命历史上占有一席之地的名字,背后却藏着一段复杂且深刻...
141
货币:它是什么,它如何运作,以及它与金钱的关系 什么是货币? 货币是商品和服务的交换媒介。简而言之,它是纸币和硬币形式的货币,通常由政府发行,一般按面值接受作为一种支付...
135
1960年邓华将军犯了什么错?被调离军队下放到四川,下场如何 1959年的庐山会议,在中国现代史上留下了浓墨重彩的一笔。一场政治风波过后,一批老将军的命运就此改写。这其中,邓...
98
建筑物消防员证和消防工程师有什么区别就业前景如何 建筑消防员证和消防设施操作员有什么区别?在建筑系消防专业技能标准编制组成立暨第二次工作会议上。会上指出,2015年,【...
73
188男团系列有什么好?除了渣与深情,这6点可能更打动我 开篇语: 没人会为渣男说话,却为他们的深情和坚持叫好。 所谓迷途知返、浪子回头,188系列将这八个字体现得淋漓尽致。...
182
农村五保户和低保户有什么区别?能同时享受吗?一文读懂两者关系 农村五保户和低保一样吗?很多农民朋友都有咨询过这个问题,在大部分农友的认知中这两者的概念都是混淆不清的...
65
【行业板块】五分钟讲明白什么是TMT行业 关注我了解更多财经知识 全文字数:1556 阅读时间:5分钟 最近TMT行业涨势凶猛,投资者听到这个词的频率也越来越高,那么到底TMT是什么呢?其中...
178
中国传统文化中三纲五常,四维八德,四端五伦分别指什么? 三纲:君为臣纲,父为子纲,夫为妻纲。 “纲”是什么?纲原意是大的绳索,在渔网上以纲为主,其它绳索附属于纲,故...
200
天津落户口需要什么条件呢? 最近很多人了解到落户的优势,很多人打算落户天津,那么满足哪些条件才能落户天津呢?那么就做一期分享。 在天津落户口需要满足的条件是: 首先就...
165
“三服务”是什么?有哪些工作要求?昨天诸暨“三服务”大会上这样说~ 2月14日下午,诸暨召开深入开展“ 服务企业服务群众服务基层 ”活动大会。绍兴市委常委、诸暨市委书记徐良...
181
详细解读什么是微电网 微电网(Micro-Grid)也译为微网,是指由分布式 电源、储能装置、能量转换装置、负荷、监控和保护装置 等组成的小型发配电系统。微电网的提出旨在实现分布式...
54
“封禅”到底是什么,为何皇帝要到泰山进行封禅大典? 封禅(拼音shàn)封为“祭天”,禅为“祭地”, 封禅其实就是祭拜天地之意。指古代帝王在太平盛世或天降祥瑞之时的祭祀天...
85
和女生第一次见面聊什么:轻松破冰,深化了解的艺术 在这个快节奏的时代,人与人之间的初次相遇往往充满了未知与期待。特别是当你与一位心仪的女生第一次见面时,如何打开话题...
109
一篇文章教你认识什么是电棍(防狼手电) 防狼手电其实就是大众在日常生活中所说的 【 电棍】,别名:电子防暴器、电弧手电筒、电击器。(以下简称手电) 手电目前主要由警务、...
180
刘嘉玲被绑架的惊魂三个小时里,究竟发生了什么 一九九零年四月二十四日的凌晨,刘嘉玲在去朋友家聚会的途中遭遇绑架,她被几个蒙面彪形大汉强行拉上车,随后就经历了她一生中...
108
《舌尖上的中国》配音李立宏,讲起《剿匪记》是什么味道? 今日,《国家记忆》栏目组邀请到一位神秘的嘉宾,他的声音曾传遍大街小巷,勾起大家的食欲,让人垂涎欲滴,他就是曾...
89
世界河流按长度、流量和流域人口排名,前十河流分别是什么 河流是人类文明的摇篮,为人类提供了饮用水源、灌溉水源、工业用水以及交通运输渠道,人类早期的文明都是诞生在大河...
66
德国黑豹坦克,配置自杀无人机还能打直升机,这是一款什么坦克? 世界上第一款携带自杀无人机,并能攻击直升机的坦克,还能防导弹攻顶打击,这是一款什么样的坦克? 最近在巴...
119
鲜卑人长的什么样?与契丹的长相颇为一致,低颅、阔面,还会美发 在河北省承德市的隆化和滦平两县,有一条河,如今人们叫它伊逊河,发源于河北省围场县哈里哈乡,至承德市滦河...
119
苦夏是什么意思 苦夏怎么办 什么是苦夏 骄阳似火,热浪袭人。炎炎夏日,让人心烦气躁,吃不下又睡不好。烦躁、乏力、头晕、胸闷,中医讲这是“暑伤气”,民间则说是“苦夏”。...