Git(读音为/gt/。)是一个开源的分布式版本控制系统可以有效且快速地处理非常小的项目的版本管理。 Git是LinusTorvalds(Linux内核发明者和该程序的合作者),是为帮助管理Linux内核而开发的版本控制软件。
分布式和集中式的最大区别在于开发人员可以在本地提交,每个开发人员都使用克隆(Git clone )将完整的git仓库复制到本地计算机。
下图是经典的git开发流程。
Git的功能特性:
在典型的开发人员看来,git具有以下功能:
1 .从服务器独立克隆完整的Git仓库(包括代码和版本信息)。
2、在自己的机器上根据开发目的编写分支,修改代码。
3、将代码提交给自己独立创建的分支。
4、单体合并分支。
5、fetch服务器上最新版本的代码,并与自己的主分支合并。
6、生成补丁(补丁),向主开发者发送补丁。
7、根据主开发者的反馈,如果主开发者发现两个一般开发者之间存在冲突(他们之间可以合作解决的冲突),要求他们解决冲突,然后由其中一个人提出。 如果主开发人员可以自己解决,或者没有冲突,则通过。
8、常见的解决开发者之间冲突的方法是开发者之间使用pull命令解决冲突,解决冲突后可以向主开发者提交补丁。
从主开发者的角度来看(假设主开发者不需要开发代码),git具有以下功能:
1、查看邮件或以其他方式查看普通开发者提交情况。
2、打补丁,解决冲突(可以自己解决,也可以在开发者之间寻求解决后再次提交。 对于开放源代码项目,还必须确定哪些修补程序有用,哪些不可用。)。
3、向公共服务器提交结果,并通知所有开发者。
优点:
适合分布式开发,强调个体。
公共服务器的压力和数据量不大。
速度和灵活性。
可以很容易地解决任意两个开发者之间的冲突。
脱机工作。
坏处:
资料少(至少中文资料少)。
学习周期相对较长。
不符合通常的想法。
代码不敏感,开发人员克隆整个库后,可以完全公开所有代码和版本信息。
更具体的还不知道。
GitHub是一个面向开源及私有软件项目的托管平台被称为GitHub,因为只有git是唯一的版本库格式托管的。
GitHub简介:作为开源代码库和版本控制系统,Github拥有900多万开发者用户。 随着越来越多的APP应用程序转向云,Github已经成为管理软件开发和发现现有代码的首选方法。
如上所述,作为分布式版本控制系统,Git中不存在主库这样的概念,每个复制的库都可以独立使用,两个库之间的不一致可以合并。
GitHub可以托管各种git库并提供web界面,但与外国SourceForge、Google Code或中国coding的服务不同,GitHub的独特卖点是不同的为项目贡献代码很简单。 首先单击项目网站上的" fork "按钮,签出代码并将修改添加到刚才划分的代码库中,最后通过内置的" pull request "机制向项目负责人申请合并代码。 已经有人把GitHub称为代码播放器的MySpace。
在GitHub上的分支,就像在Myspace (或Facebook…)上交友一样,在社会关系图的节点中不断地连接着。
GitHub项目本身也自然由GitHub托管,但只是私有的
是的,这是一个看不到公共视图的库。 可以免费托管开放源代码项目,但私有库则不然。 pgddhf Wanstrath,GitHub的一位开发者肯定了使用付费私有库在财务上支持免费库托管的计划。
是的,我们是这样计划的。 通过与客户合作开发FamSpam和开发GitHub本身,GitHub的私有库被证明是有价值的。 如果你想节约时间,像团队其他成员一样摆脱页面频繁切换的痛苦,你可以从GitHub那里获得你真正想要的价值。
在GitHub中,用户可以很容易地找到大量的开放源代码。
GitHub更具体的理解还有待于进一步的了解。
经过上面的简单理解,我们可以知道。
Git相当于一个版本控制器,GitHub相当于一个面向开源及私有软件项目的托管平台。