Git\Github\msysgit\tortoisegit

GIT (分布式版本控制系统)
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上。

经典的git开发过程

Git的功能特性:
从一般开发者的角度来看,git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
优点:
适合分布式开发,强调个体。
公共服务器压力和数据量都不会太大。
速度快、灵活。
任意两个开发者之间可以很容易的解决冲突。
离线工作。
缺点:
资料少(起码中文资料很少)。
学习周期相对而言比较长。
不符合常规思维。
代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

Github
github用以托管各种git库,并提供一个web界面,可以说是一款易于使用的git图形客户端。

msysgit
msysgit是 Git 版本控制系统在 Windows 下的版本

tortoisegit

是一个开放的git版本控制系统的源客户端

详细关系:
git有且只有一个,就是linus最初创建的那个叫做git的程序。现在的维护者的名字我懒得去查了。。。

最初的git,只能运行在*nix系统上,然后,有人为它做了windows兼容的修改,git for windows的具体维护工作应该是德国的一家公司的几个人在负责,没错,就是我们看到的那个msysgit,一个基于windows上虚拟unix环境mgw的git。早期还有一个单独的windows git的fork,现在已经不存在了。而msysgit本身,也是git官方维护的版本,它的release是跟着git主版本走的,但是因为有一些windows特有的修改不便merge到主干,所以,现在还是有少量单独的修改是由msysgit的维护小组在管理负责的。这种情况将来会不会有所改善我不好说,但从这几年的情况来说,msysgit的修改是在一点一点的合并到主干的,因此,也许将来我们看到msysgit,有可能就仅仅只是一个mgw + git的合并安装包而已了,但就现在来说,msysgit是跟着主干git走的一个官方fork。

无论github for windows,还是tortoisegit,他们的底下都是依赖msysgit的,tortoisegit为了提高性能,似乎在将内部实现从调用git的cmd命令转移到一个gitlib的dll上去,这个gitlib的dll的历史渊源我不是很清楚,但应该跟msysgit脱不了关系,但即使如此,tortoisegit现在仍然还是需要你安装msysgit才能正常动作的,因为它也还没有把所有的内部调用都替换掉,就现在来说,msysgit仍然是tortoisegit的基础。

至于github for windows,我没有用过,但从我看到过的资料来说,它其实是内置了一个msysgit的,你所有的操作,其实不过是github for windows的gui界面把你的操作翻译成命令行调用参数并调用git的命令行程序而已,就是那个msysgit里面的git.exe。

所以,git本身就是git,然后github for windows和tortoisegit都是git的一个gui包装。使用tortoisegit,你需要单独下载msysgit安装,使用github for windows,可以直接使用内置的msysgit而无须单独下载安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值