git简介

git是一个开源的分布式版本控制系统,由Linus Torvalds开发实现(貌似只花了两周的时间,厉害!)。

git的优势?

1. 版本库本地化,支持离线提交,相对独立,不影响协同开发。
每个开发者都拥有自己的版本控制库,在自己的版本控制库上可以任意地执行提交代码、回滚代码、创建分支、归并分支等操作。因为是在自己的版本库上操作,所以不用担心会影响到其他的开发者。
2. 更少的仓库污染。
git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在.git目录下,不会像svn那样在每个目录下都产生.svn目录。
3. 把内容按元数据方式存储,完整克隆版本库。
所有的版本信息都在.git目录中,它是处于你的机器上的一个克隆版的版本库,它拥有中心版本库所有的东西,例如标签、分支、版本记录等。
4. 支持快速切换分支,且合并速度快。
5. 分布式版本库,无单点故障,内容完整性好。
内容存储采用的是SHA1-哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

分布式VS集中式

集中式版本控制系统,版本库是集中放在中央服务器上的,而干活时用的都是各自的电脑,所有要先从中央服务器上取得最新的版本,然后开始干活,完了再把代码推送到中央服务器上。集中式版本控制系统最大的毛病就是必须联网才能工作。如果是局域网还好,带宽够大,速度够快,可是如果在互联网上,就可能网速很慢。