git快照与svn文件差异区别

ps:这只是我个人的理解

举个例子,一个工程t有两个文件a,b,假设这两个分别存在在磁盘的空间为block1(5k)和block2(3k)
,修改了a文件,修改后少了1k

1. git快照:保存a文件block1(5k),生成新a1文件(4k)的block3,这时候版本引用就指向了a1,但是a还保留着,
   因为他是上一个版本的数据,后面如果切换到上一个版本的时候,a文件不在就不知道怎么还原。
2. svn文件差异,保存a文件block1(5k),生成新的差异文件a2的block4(1k)

   因为git快照是在原有的基础上重新生成一份新的文件a1(有点像备份,但我们平常理解的备份一般都是和原文件一样的),
修改后的版本就直接load下来(a1文件),但是svn差异文件a2只是差异文件,此时版本a文件应该是a2与a进行merge操作得到a3(4k),这个merge过程会慢点。此时如果针对工程t,那么修改后的版本工程:git快照下下来的就是a1,b,而svn则是a3,b。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值