brother and father
说到git,不得不提他的两位举世闻名的家人
brother——linux
father——Linus
这两位家人正是git产生的推动者。
简史
- 1991年,Linus编写了linux的内核代码,并于此年年底公开了部分代码
- 1991-2002年间,linux的维护成本都花费在了提交补丁和保存归档上,基本都是手动合并来自世界各地的代码
- 2002年,BitMover出于人道主义,将收费的分布式版本控制工具bitkeeper给linux开源社区来管理linux代码
- 2005年,samba开发者Andrew试图破解bitkeeper,然后被监测到,BitMover公司和社区闹掰,并回收的bitkeeper的使用权
- 同年,Linus闭关两星期,git诞生
git优势
- 相比svn这种传统的集中式版本管理,git没有单点故障的确定
- 分布式的版本管理,导致代码容灾能力超强
- 由于本地客户端存在分支版本,不需要联网即可工作
- 完整性保证,hash
- 尽可能的添加数据,而不是删除或者修改数据
- 与linux命令全面兼容
git结构
– 工作区
– 暂存区
– 本地库
– 代码托管中心
基本流程
团队内部合作
1 | a:git init |
跨团队合作
1 | 外部c:fork |