svn和git的比较

合并操作时对提交过程的保留

  • git:合并操作保留原有的提交过程

  • svn:多个提交合并为一个提交

  • 不用因为合并操作而导致追踪的困难

修正提交

  • git:可以修正提交。
    使用功能分支工作流,在自己的分支可以方便修正提交而不会影响大家。

  • svn:一旦提交就到服务器上,实际使用中就是不能修改
    (svn可以在服务器上修改,因为过程复杂需要权限实际上从不会这样做)

本地分支

  • git可以方便的创建本地分支,创建时间极短,分支可以是本地的,不会存在svn中目录权限的问题

强大的合并能力

  • git:重命名(无论文件还有目录)提交 可以合并上 文件重命名前的这些文件的提交

  • svn:重命名(无论文件还有目录)提交后,你本地/或是分支上 有文件重命名前的这些文件的修改或提交,在做合并操作时,你会碰上传说中难搞的树冲突

  • 这就导致在调整目录名称和类名调整的时候比较繁琐,需要告诉大家,我修改完以后你再修改

tag的支持

  • svn在模型上是没有分支和tag的。tag是通过目录权限限制(对开发只读)来保证不变。

  • git模型上一等公民支持tag,保证只读。

速度优势

  • git的提交是个本地提交,相对svn来说如闪电一般

  • git提供了暂存区,可以方便制定提交内容,而不是全部内容

日志查看

  • git:本地包含了完整的日志,闪电的速度(并且无需网络)

  • svn:需要从服务拉取。

  • 一旦用了git后,等待svn日志过程简直让我发狂

如果文章对你有帮助,请去我的个人博客留个言吧! 我的博客


web开发之业余架构师
java,nodejs,python脚本,go语言开发,web开发,编程学习,随笔感想。

爱编程,爱折腾,成为真正的极客,真正的coder!

317 声望
13 粉丝
0 条评论
推荐阅读
java程序员最好的debug教学
如果你不知道如何添加断点,只需点击左边面板(行号前面)断点即被创建。在调试界面中,“断点”视图会把所有被创建的断点列出来。我们可以给它加一个布尔条件,然后按Ctrl+s保存断点,该断点会被激活并且如果布尔条...

maochunguang2阅读 4.2k

openKylin 0.9.5版本正式发布,加速国产操作系统自主创新进程!
2023年1月12日,中国桌面操作系统根社区openKylin(开放麒麟)正式发布openKylin 0.9.5操作系统版本。此版本充分适应5G时代需求,打通平板,PC等设备,实现多端融合,弥补了国产操作系统的短板,有效推动国产操作...

openKylin6阅读 7.9k

封面图
Git的一些最基础操作-以项目为例
在自己刚接触git的时候,心里一直有一个疑问,那就是什么是git?git能用来干什么呢?git是一个分布式的版本控制系统。 那么现在你就知道了,git肯定是用来管理代码版本的,而且还是分布式的。

淼淼真人2阅读 3.6k

git 多用户配置(多用户 & 公司/个人)
多用户配置公司和github,经常会遇到要多用户使用git的情况,以下为配置信息,以下拿xiaoxuete1 & xiaofute2举例设置ssh-key {代码...} 会提示存储的文件名,输入如果需要push时确认的密码,可在该步骤输入.pub文件...

小夫特1阅读 7.4k

工作中常用的git命令
在这类系统中,像 Git,Mercurial,Bazaar 以及 Darcs 等,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像...

vipbic4阅读 905

封面图
SegmentFault 思否技术周刊 Vol.78 — Git 必看技术补给
Git 的诞生是一个非常有趣的故事。1991年 Linus 开源了 Linux 内核,无数 Linux 爱好者在世界各地为 Linux 编写代码,那么问题来了,这些代码该如何管理呢?起初 Linus 使用 BitKeeper(BitMover 公司的版本控制软...

Beverly3阅读 2k

封面图
openSSH升级公钥失效Permission denied (publickey)解决方案
背景centos系统升级openSSH后,服务器上无法再拉取代码,报错如下:原因服务器重新安装SSH后公钥改变,需要重新安装ssh-keygen -t rsa -C "邮箱地址"生成公钥,删除gitlab原有公钥,但是git pull依然报错如下:依...

兰俊秋雨2阅读 1.5k

爱编程,爱折腾,成为真正的极客,真正的coder!

317 声望
13 粉丝
宣传栏