Git是一个开源的分布式版本控制系统,用以有效、高速的处理各种规模的项目版本管理, 它是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,后来得到广泛的使用。
Github是一个代码托管平台和开发者社区,开发者可以在Github上创建自己的开源项目并与其他开发者协作编码。创业公司可以用它来托管软件项目,开源项目可以免费托管,私有项目需付费。Github同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用,而且GitHub已经有了一组引人注目的特性,除了命令式的库浏览器和一个项目Wik,GitHub甚至还包括了一个GitHub gem,以使通过shell方式使用GitHub更为方便。
GitHub上已自动配置的Mac笔记本电脑,可以转换设置Linux或Windows机器。BOXEN是GitHub的自动化工具,设置和配置的Mac笔记本电脑软件开发或其他类型的工作,正在使用他们的开发人员等。其准备系统以自动方式和作为无差错尽可能用最少的干预工作。根据GitHub上,与一个新的开发机器上,他的Mac系统成立,并准备在30分钟内提交代码。
作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
Git与Github在功能上相辅相成,但两者也有独自的过人之处,可谓是“巾帼不让须眉”啊!
同样作为一个分布式的版本控制系统,在Git中并不存在主库这样的概念,每一份复制出的库都可以独立使用,任何两个库之间的不一致之处都可以进行合并。且GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。
GitHub主要用Rails实现,在进行的post-commit集成小应用完全使用Merb编写,使用了Python的Pygments来做格式高亮显示,另外,还用了Ara T. Howard's Bj加上一些Ruby脚本来做我们的排队系统。当然,还采用了Ruby Grit库来和Git进行交互。
在Windows领域两者也有极大的应用,GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。
GitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。
总的来说,两者关系可以这样描述:Git是一款免费、开源的分布式版本控制系统,而Github是用Git做版本控制的代码托管平台,相当于本地、公司服务器、Github网站服务器都装Git做版本控制,只不过Github的服务器强大些,对全球用户托管的项目用Git做版本控制,打个比喻即为“git是一张弓,github是靶子,你的源代码是箭!”
其次两者在使用方法上也应该有所借鉴和区分,一些常用命令如下:
git克隆项目(下载代码)
#git clone http://192.168.0.223/git/test
git clone git@github.com:laiweiwei/vms.git