一.github项目地址:
https://github.com/fairy1231/gitLearning/tree/master
二.github的重要性:
Git 是一个快速、可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问.Git与你熟悉的大部分版本控制系统的差别是很大的。也许你熟悉Subversion、CVS、Perforce、Mercurial 等等,他们使用“增量文件系统” (Delta Storage systems), 就是说它们存储每次提交(commit)之间的差异。Git正好与之相反,它会把你的每次提交的文件的全部内容(snapshot)都会记录下来。
理论上,Git 可以保存任何文档,但是最善于保存文本文档,因为它本来就是为解决软件源代码(也是一种文本文档)版本管理问题而开发的,提供了许多有助于文本分析的工具。对于非文本文档,Git 只是简单地为其进行备份并实施版本管理。
Git可以从服务器上克隆数据库(包括代码和版本信息)到单机上,在自己的机器上创建分支,修改代码,在单机上自己创建的分支上提交代码,在单机上合并分支,新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并,生成补丁(patch),把补丁发送给主开发者,看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过,一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
Git适合分布式开发,强调个体,公共服务器压力和数据量都不会太大,它的速度快、灵活,任意两个开发者之间可以很容易的解决冲突,并进行离线工作。