目录
1.git的介绍
2.git的历史
开发者:Linus Torvalds
Linux的创始人
3.git和svn的对比
svn:集中式管理
git:分布式管理
4.git管理的组成结构
1.git的介绍
git是项目版本管理工具,能自动的将多个版本进行管理存储,类似于快照,多个人共享版本
git的诞生:分布式项目管理工具,目前整个行业最流行最受欢迎的项目版本管理工具
2.git的历史
开发者:Linus Torvalds
-
Linux的创始人
-
Linux诞生以后,全球很多开发者开发了 很多个版本的Linux,提交给Linus Torvalds
-
Linus Torvalds 将优秀的代码集成在Linux内核中,手动管理所有的代码
-
Linus Torvalds 不喜欢传统的免费CVS等工具,因为这些工具不好用,好用的都收费
-
Linus Torvalds 先选择了一个商业化的工具BitKeeper ,达成协议可以免费使用
-
于是团队中的一个哥们有个想法:能不能破解这个东西?
-
被发现了:Linus Torvalds 保证不再破解
-
到 2005 年的时候,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结
束,他们收回了免费使用 BitKeeper 的权力
-
两周以后,Linus Torvalds 自己用C语言开发了Git,使用了类似于Linux的管理方式
-
Linus Torvalds :将Linux的版本控制切换到Git上
-
Git的开发汲取了其他的版本控制工具的优点,避免了缺点
-
3.git和svn的对比
svn:集中式管理
-
所有版本的代码都集中在SVN的服务器上
-
任何一个开发者,都只能连接SVN服务器,下载代码和上传新的版本
-
集中式:所有的开发都围绕SVN服务器为核心
-
缺点
-
必须联网
-
局域网:还是比较快的,但是回家以后就没办法开发了
-
在公司下载好
-
回家开发,只能开发一个版本
-
回到公司上传这个版本
-
-
互联网:特别慢
-
在任何一个地方连接SVN服务器,进行下载和上传
-
-
-
自己无法自动管理多个版本
-
SVN服务器存在单点故障:假如服务器崩了,所有东西就都没了
-
git:分布式管理
-
-
==去中心化模式==
-
优点
-
不需要联网,自己的笔记本就是个本地版本库,直接利用自己的笔记本实现版本的管理
-
自己可以管理任意多个版本
-
不需要担心公共的版本库故障,每个人的本地都有版本库
-
-
Git的特点
-
适合于分布式开发,多人可以共同开发,强调个体
-
公共的版本库服务器的压力不会太大
-
速度快、更加灵活
-
任意的开发者之间如果产生冲突也容易解决
-
不需要联网也可以实现多版本管理
4.git管理的组成结构
-
本地版本控制Git服务器
-
==工作区【Work Dir】==:就是你开发和修改代码的地方
-
==暂存区【Index】==:临时存放你即将提交的版本的地方
-
所有需要保存的版本必须先添加到暂存区
-
-
==本地版本仓库【HEAD】==:本地的版本库,实现本地的版本的管理
-
所有暂存区的版本会被提交到本地版本库
-
-
-
==远程版本仓库==:用于共享项目代码版本
-
GitHub: GitHub: Let’s build from here · GitHub
-
Gitee: Gitee - 基于 Git 的代码托管和研发协作平台
-