第一章 Git和Github
深入学习的阅读资料:git-recipes: 1.1 果壳中的 Git
我无意于重复已经存在的教程信息,只准备简单列出本次培训中各位所需要知道的精简信息。 如果你有兴趣,请移步阅读资料中的超链接,更加系统性地进行学习。
- 本章你将了解到Git和Github,以及如何安装Git并轻松且愉快地建立你的第一个仓库。
Git是什么?
-
Git是由 Linux 操作系统内核的创造者 Linus Torvalds 在 2005 年创造的现代软件版本管理系统,也就是我们常说的VCS(Version Control System)。
-
Git是一款版本控制软件,而不是一个网站、不是一个组织、不是一种程序员专属软件、不是一种神秘的计算机语言,这意味着只要你肯,你可以像学会使用Word或是Excel一样轻松学会它。
-
Git采用分散式的架构,因此也被称为DVCS(Distributed Version Control System)。
在面试中,如果你的简历上写了你会“使用Git”,常会有面试官问你Git和CVS的区别:Git采用了一种差分编码的方式,只保存每次代码修改中差异部分;同时,Git是离线的,每个开发者都会拥有一份完整的代码和提交历史,这样就意味着团队中的某个的开发者可以在任何场合进行开发,且可在拥有网络环境时进行协同。
- Git提供了版本管理能力,使得你可以在一个环境下保存多个版本的文件。这不仅仅对于程序员来说很有用,对于画师、文档编辑人员而言都极具价值——就比如甲方前天要一个亮一点的背景图、昨天要一个暗一点的背景图、而今天又觉得前天的版本好,如果你使用了Git,你可以直接回滚到前天的版本;假如明天甲方又觉得昨天的版本好,你又可以向前滚动版本。
Github是什么?
-
Github不是Git,也不是每个使用Git的人必需使用的网站。
-
Github只是一个网站应用,他提供了基于Git的网络服务和Git中心服务器。
-
没有Github你一样能跟朋友使用Git进行协同工作、一样能自由地使用Git进行开发。
-
世界上除了Github还能有很多hub,你都可以自由选择,没有什么高低之分。
- 比如Gitee就是国内由【开源中国】所建立的“基于 Git 的代码托管和研发协作平台”。在Github抽风的情况下,Gitee依旧能保证不错的连接速度,推荐一试(或是作为你的镜像仓库做备份)。同样的,还有【阿里云】提供的Code,淘宝账户直接登录,不多BB拿起键盘就是代码三连。
- 甚至,你还可以建立你的Git服务器,掏出树莓派就是上,根本不虚。简历上还可以说自己建立了”基于 Git 的代码托管和研发协作服务器”,逼格一下就比只说自己有个Github账号的同学不知道高到哪里去了。
就功能上而言,Github提供的功能无疑是最强大的。但是在国内,由于你懂我懂的各种情况,时常抽风,很是蛋疼。所以我推荐各位可以采用Github+Gitee的双配置。
俱乐部里如果有刷天池大赛的同学,可能用阿里的Code会多一些。
无论你选择使用哪个网站提供的服务器作为你的远程仓库,都要记住它们都是没有高低之分的。
安装Git
我相信俱乐部中的各位同学还是用Windows作为日常开发环境多一些的。
我也建议各位使用Windows作为日常开发环境,任何尝试使用 Linux+vim 敲代码的不是大佬就是装逼犯。
在Windows环境下,Git的安装是十分简单的,之前完全没有接触过Git的同学请放松心态,现在网上有很多教程都是很早以前的了,一上来就是各种Shell语句,当年给我幼小的心灵造成了极大的伤害,差点没把我劝退。
如何安装Git呢?这么说吧,在Windows环境下,只要你认字,懂得按【下一步】,安装Git就像安装QQ一样轻松。
Windows平台安装流程:(其它平台其实也差不多啦 XD)
- 下载安装包(以下链接任选):
https://gitforwindows.org/ 或是 https://git-scm.com/
-
双击运行exe文件,选择一个安装目录。
-
比较重要的是,当你看到是否要将Git加入环境变量的提示时,请一定勾上。如果忘了勾也没关系,百度搜索”添加Git环境变量”,有大量教程告诉你该如何做(和添加JAVA环境变量是一样的)。另外,请注意关闭360智商卫士等软件。
-
轻松愉快、苟苟笑笑间我们就把Git装完了。随便找个文件夹右键,你会看到:
GitBash和GitGUI
大部分的教程会告诉你从GitBash起步,然后上来就是Shell
指令三连。
拜托,都9102年了,就不能有点更友好的交互方式?
GitBash和
Shell
是必不可缺的学习内容,但我们不必急于在现阶段掌握它们。GitGUI已经能够在现阶段完成add
、commit
、push
等大部分高频核心操作,但它仍有部分操作需要GitBash使用类似Shell
的Git指令才能完成。
-
GitBash是类似于Shell的指令交互终端。相对的,其所使用的极度反人类的
vim
操作当年劝退的程序员的头发薅下来能绕银河系三圈。好在现阶段我们不需要关心这个东西。 -
GitGUI是图形化的操作终端,基本上能够满足大部分日常开发需要。作为它的补充,Github推出了一款Github Desktop软件,功能更强大,各位走过路过可以了解一下。
我十分推荐Github Desktop,用过的都说好。
创建你的第一个仓库
- 仓库(Repository)是Git中的一个术语。你可以简单把它理解成一个Windows文件夹,Git软件复制管理这个文件夹里的各种文件。
让我们不写任何指令,建立你的第一个Git仓库:
- 随便新建一个文件夹,叫啥不重要,进入文件夹,右键空白处,选择
Git GUI Here
。 - 选择
Create New Repository
,Browse
到你新建的文件夹,点击Creat
建立仓库。
之后,你会发现该文件下下多了一个隐藏的文件夹.git
。(如果你看不到,请搜索关键词”Windows 显示隐藏文件夹”),该文件夹管理了Git软件对该文件夹的各种记录。
如果你对这个库不太满意,直接把这个文件删了再次重复建库过程就行。
想再次通过Git打开这个库,依旧右键文件夹的空白区域,然后选择
Git GUI Here
即可。轻松且愉快,就跟右键打开一个文件是一样的。
就这样,你不需要敲任何代码或是指令,就把第一个库给建立起来了,也就为之后Git的学习打下了基础。真是让人感到轻松且愉快,谈笑风生间不禁让人赞美新时代的美好,感叹那个属于vim
的年代终于一去不复还了。
扩展阅读:通过指令进行操作 -> git-recipes:2.1 快速指南。