git发展史

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
2
3
4
5
6
7
a:git init
a:git push
添加权限给b
b:git clone
b:git push
a:git pull
a:git merge

跨团队合作

1
2
3
4
5
6
外部c:fork
外部c:git clone
外部c:git push
外部c:pull request
a:审核
a:git merge
显示 Gitment 评论