SVN与Git的区别

来源:互联网 发布:怎么在知乎提问 编辑:程序博客网 时间:2024/06/06 09:13
svn 从中央仓库中直接check out 代码 commit代码  必须有网
git 是第一次把中央仓库git clone 到我们的本地仓库中,然后我们从本地仓库修改commit 不要有网,但是要把代码push 到中央仓库中还是需要网


1.GIT是分布式的,SVN不是:
GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,当你突然遇到没有网络的环境时,这个将解决你的大麻烦。
s
2.GIT把内容按元数据方式存储,而SVN是按文件:
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。


GIT分支和SVN的分支不同:
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。感谢Ben同学指出这个特征。所以,经常会发生有些分支被遗漏的情况。
然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。


原创粉丝点击