Git与SVN的比较

 

区别

维度GitSVN
定义是由Linus Torvalds在2005年开发的开源分布式版本控制系统。它强调速度和数据完整性是Apache许可证下的开源软件版本和版本控制系统
模型类型 是一个分布式模型vn是集中式模型,只有一个远程版本库
存储单元Git按照元数据方式存储,体积很小;所有控制文件在.git中SVN按照原始文件存储,体积较大;所有资源控制文件在.svn中
是否拥有全局版本号没有
内容完整性Git的内容的完整性要优于SVN,GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏 
版本库Git可以有无限个版本库;如果主要版本库发生了什么事,工作成员仍然可以在自己的本地版本库(local repository)提交,等待主要版本库恢复即可。工作成员也可以提交到其他的版本库只能有一个指定中央版本库,当这个中央版本库有问题时,所有工作成员都一起瘫痪直到版本库维修完毕或者新的版本库设立完成。
克隆目录速度git要快于svn;获取文件的每个版本的元素,然后只载入主要的分支(master);五个分支,每个分支有大约1500个文件的 SVN,耗了将近一个小时,而Git只用了区区的1分钟!SVN是同时复制多个版本的文件,,也就是说重复五次同样的动作
分支从同一个工作目录下快速的在几个分支间切换svn的分支是一个目录;如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并
创建目录只创建 .git 目录在每个文件夹中创建.svn目录
存贮区别大都用于代码管理用于原型图和高保真管理

 命令比较

作用gitsvn
版本库初始化git initsvn create
clonegit clonesvn co(checkout)
addgit add (.除去.gitignore,*所有的文件)svn add
commitgit commitsvn commit
pullgit pullsvn update
pushgit push-
查看工作状态git statussvn status
创建分支git branch <分支名>svn cp <分支名>
删除分支git branch -d <分支名>svn rm <分支名>
分支合并git merge <分支名>svn merge <分支名>
工作区差异git differ (-cached / head)svn diff
更新至历史版本git checkout <commit>svn update -r <rev>
切换taggit checkout <tag>svn switch <tag>
切换分支git checkout branchsvn switch branch
还原文件git checkout - pathsvn revert path
删除文件git rm pathsvn rm path
移动文件git mv pathgit mv path
清除未追踪文件git cleansvn status sed -e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值