关于Git和SVN的对比

简介:

1.git的提交是一个DAG有向无欢图.可以看到哥哥分支之间的合并关系.SVN的提交是一条直线.

2.git的提交版本号不是一个简单递增的数字,而是一个长达40位的十六进制数字(哈希值)

但是可以适用剪短的格式.只要不冲突.git的提交都记录了父提交甚至是双亲或者多亲提交,因此可以很容易的从任意

一个提交开始建立一条指向历史提交的跟踪连.

3.svn的分支和里程碑看起来和目录一样.

git的分支和里程碑名字虽然看起来像是目录,但是实际上和工作区的目录完全没有关系.只是对提交ID的一个记号而已.

4.SVN中的.svn目录不但有跟踪工作区文件状态的跟踪文件,而且还有每个文件的原始拷贝.

这样有的操作可以脱离网络执行了,例如:差异比较,工作区文件的回滚.

但是这样在进行内容检索的时候会搜索出两份,太干扰了,这样会造成本地文件名的信息泄露.千万不要在WEB服务器上用SVN检出.

Git的操作不需要网络.在本地就有完整的版本库.几乎所有的操作都是在本地完成的.

5.SVN的checkout检出命令在工作区创建时一次性完成;

Git 没有update命令,还要经常执行checkout命令.

SVN的update命令执行的很慢.之所以SVN经常要更新是因为SVN的版本库再远程.

Git的版本库是在本地.本地版本库会随着本地工作区中的操作(如提交)而更新.

Git的checkout检出操作经常用于用户切换分支.或者从本地版本库检出丢失的文件或者覆盖本地错误改动的文件

Git中的git fetch 和git pull也比较耗时的网络操作命令.这两个操作是从远程版本库获取他人的改动.

SVN的checkout命令和Git的clone命令挺像.

git的clone不但创建了本地工作区,而且在本地复制了和远程版本库一样的本地版本库.

SVN的update和git fetch,git pull类似.

6.Git的commit命令执行的那么快.因为Git的版本库就在本地.

也许会觉得SVN的commit命令和Git的push更像.其实这是个误会.

如果Git不做本地提交,是不能通过推送命令(git push)将我的本地提交共享给(推送给)

其他版本库的,SVN的每一次提交都 要和版本库进行网络通信.

Git可以在本地多次提交.知道主人想喝咖啡了才执行一次git push.将我的本地版本库中的的新提交推送给远程版本库.

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/4157648.html,如需转载请自行联系原作者

相关文章
|
6月前
|
程序员 Linux 开发工具
Git基本概念、工作流程及与SVN的对比
Git基本概念、工作流程及与SVN的对比
120 0
|
6月前
|
存储 算法 开发工具
git是什么?git的五个命令,git和svn的区别
git是什么?git的五个命令,git和svn的区别
91 0
|
3月前
|
敏捷开发 存储 开发工具
版本控制系统的选择:Git与SVN的比较
【8月更文挑战第14天】Git和SVN都是优秀的版本控制系统,它们各自具有独特的优势和适用场景。在选择版本控制系统时,需要根据具体的项目需求、团队特点和开发模式来综合考量。对于需要分布式团队协作、高效处理大型项目或采用敏捷开发模式的团队来说,Git是一个更好的选择。而对于传统团队、集中式开发或简单项目来说,SVN可能更加合适。无论选择哪种版本控制系统,都应该充分利用其提供的工具和功能来提高代码质量和开发效率。
|
1月前
|
存储 开发工具 git
Git和SVN有什么区别?
综上所述,选择Git还是SVN取决于项目的具体需求、团队规模以及工作习惯。Git因其高级特性和灵活性,成为了现代软件开发中更受欢迎的选择,而SVN在某些特定场景下仍保有一席之地。开发者应当根据实际情况,权衡两者之间的优劣,作出最适合项目的选择。
54 4
|
3月前
|
存储 开发工具 数据安全/隐私保护
Git 与 SVN:版本控制领域的双星对比
【8月更文挑战第27天】
139 6
|
3月前
|
Kubernetes jenkins 持续交付
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
Jenkins + SVN/Git + Maven + Docker + 阿里云镜像 + Kubernetes(K8S)
139 0
|
5月前
|
中间件 Java 生物认证
Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份
Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份
|
6月前
|
开发工具 git
将本地项目上传到svn服务端和git
将本地项目上传到svn服务端和git
160 0
|
6月前
|
存储 安全 开发工具
快速入门安装及使用&git与svn的区别&常用命令
快速入门安装及使用&git与svn的区别&常用命令
157 0
|
存储 安全 开发工具
版本管理工具git 与 svn 的区别具体有哪些?
版本管理工具git 与 svn 的区别具体有哪些?
159 0