目录
一.什么是Git
二.为什么要使用Git
三.Git和SVN对比
四.Git工作流程
五.Git下载与安装
一.什么是Git
Git历史 很多人都知道,林纳斯·托瓦兹在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。然后全世界的开源贡献者都将修改或实现的功能提交给林纳斯·托瓦兹,这样林纳斯·托瓦兹就得手动的去一个一个匹配需要改动的地方,所以他花了2个星期的时间用C写了Git。(呵呵,这就是大佬吧)
Git是什么?
Git是一种代码托管技术。在开发中,Git是一种代码托管技术,很多代码托管平台也是基于Git来实现的。Git可以帮我们做到很多的事情,比如代码的版本控制,分支管理等。
注意: 我们可以把Git理解成是一个开源的分布式版本控制系统,用于 敏捷高效地处理任何或小或大的项目。正是因为有了Git的存在,现在很多工作才可以变得相对轻松。
二.为什么要使用Git
什么是版本控制系统 你可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需 要的时候,它可以帮你完整地保存一个项目的快照。当你需要查看 一个之前的快照(称之为“版本” )时,版本控制系统可以显示出当 前版本与上一个版本之间的所有改动的细节。
想法:
比如在写毕业论文时,因为我们怕在原来的基础改错了东西,没法恢复,所以,我们可能会有多个毕业论文的文件。而我们写代码的时候本身就是 「多人协作」的,修改是无法避免的,我们不希望有多个文件 的产生,又希望能够记录每次更改的内容。
这个软件用起来就应该像这个样子,能记录每次文件的改动:
注意: 结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。
三.Git和SVN对比
Git支持离线工作。SVN必须联网才能正常工作。
SVN集中式
集中式版本控制系统需要找一个服务器作为大本营,所有的代码都需要提交到服务器上进行统一的管理。当你需要对代码进行改动时,需要先从服务器上下载一份拷贝,修改完成之后,还需要上传 回服务器。
SVN优缺点
优点:
- 管理员也可以轻松掌控每个开发者的权限。
- 代码一致性非常高。
- 适合开发人数不多的项目开发。
缺点:
- 服务器压力太大,数据库容量暴增。
- 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
Git分布式
在分布式版本控制系统中,大家都拥有一个完整的版本库,不需要联网也可以提交修改,所以中心服务器就显得不那么重要了。
注意: Git记录版本历史只关心文件数据的整体是否发生变化。Git不保存文件内容前后变化的差异数据。
Git优缺点
优点:
- 适合分布式开发,强调个体。
- 公共服务器压力和数据量都不会太大。
- 速度快、灵活。
- 任意两个开发者之间可以很容易的解决冲突。
- 离线工作。
缺点:
- 学习周期相对而言比较长。
- 不符合常规思维。
- 易学难精
四.Git工作流程
协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。
四个工作区域
Workspace: 工作区,就是你平时存放项目代码的地方
Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是 一个文件,保存即将提交到文件列表信息
Repository: 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote: 远程仓库,托管代码的服务器,可以简单的认为是你项 目组中的一台电脑用于远程数据交换
********************************************************************************************************
暂存区就相当于下面的广场货物先放到广场,当累积到一定数量时再一起放入仓库中。要不然仓库中的版本太过零碎频繁。
工作流程
Git的工作流程一般是这样的:
- 在工作目录中添加、修改文件;
- 将需要进行版本管理的文件放入暂存区域;
- 将暂存区域的文件提交到git仓库。
五.Git下载与安装
官网:Git
官网下载速度比较慢,所以我就直接从腾讯电脑管家里下了,我下的版本是2.39.0.2-64-bit。无脑安装即可,安装之后可以看到鼠标右键会出现相关快捷键,Git Gui Here和Git Bash Here。