git基础(一)
1 git简介
在git之前,据说Linux源码都是手动管理,这种方式比较原始,比较耗费管理人员的时间,开源社区需要一种新的技术来解决这个问题。
当时存在的免费的版本控制系统有CVS,SVN,但是这种集中式的版本控制不但速度慢而且还必须联网才能使用。商用版的不符合开源精神所以直接不被考虑。
BitMover公司出于人道主义精神将自己家的产品BitKeeper免费授权给开源社区使用。然而,故事的结局并不美好,不久,就有人试图破解Bitkeeper的协议,被BitMover公司发现了,公司一怒之下,取消了对社区的免费授权。
然后!Linus觉得用别人的还不如自己写一个,再然后!Linus使用了两周的时间用C写了一个分布式的版本控制器,这就是现在大名鼎鼎的Git,orz。
分布式版本控制和集中式版本控制最大的不同在于分布式可以通过克隆,在本地拷贝一个完整的git仓库。
Git的功能特性(百度百科)
1. 从服务器上克隆完整的Git仓库到单机上。
2.在自己的机器上根据不同的开发目的,创建分支,修改代码。
3.在单机上自己创建的分支上提交代码。
4.在单机上合并分支。
5.把服务器上最新的代码fetch下来,然后跟自己的主分支合并。
6.生成补丁(patch),把补丁发送给主开发者。
7.看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间的可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交,如果主开发者可以自己解决,或者没有冲突,就通过。
8.一般开发者之间解决冲突的方法,开发者之间可以使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁。
从开发人员看,git有以下功能(百度百科)
1.查看邮件或通过其它方式查看开发者的提交状态。
2.打上补丁,解决冲突。
3.向公共服务器提交结果,然后通知所有开发人员。
下一篇git基础(二)