OneCoder

Git分支管理基本原理

上文已讨论过svn分支管理的基本原理,本文将继续探讨Git分支管理的基本原理,以便后续进行进一步的理解和对比: Git 的分支创建原理与 SVN 有很大的不同。Git 的分支是轻量级指针,指向特定的提交对象。以下是 Git 创建分支的基本原理和详细步骤: Git 分支创建的基本原理 提交对象(Commit Object): 每次提交都会创建一个提交对象,记录提...

SVN分支管理基本原理

学习完svn和git的版本管理理念上的差异后,自然的我们再进一步对比svn和git在分支管理上的原理差异,这种差异正是由二者版本管理理念和存储方式差异造成的,今天我们先研究一下svn的分支管理原理: SVN分支管理基本原理 SVN(Subversion)的分支创建是基于目录的拷贝操作。这种操作非常高效,因为 SVN 使用了一种名为“轻量级复制(cheap copy)”的机制。以下是 SV...

Git版本管理基本原理

上文已经研究分析了SVN增量式版本管理的基本原理,今天再进一步研究分析下Git快照式存储的基本原理: 一、快照存储基本原理 Git 的快照式数据存储模型是其高效、可靠的核心所在。这个模型与传统的差异存储模型(如 SVN)有显著不同。以下是对 Git 快照式数据存储模型的详细解释: 基本概念 提交(Commit): 每次提交在 Git 中都是一个独立的快照,记录...

SVN版本管理基本原理

之前在做svn和git差异分析的时候提到二者的数据存储模型有差异,svn增量(差异)存储,git快照存储。为了进一步搞清这里的差异,我分别对svn和git的存储原理进行了学习和梳理,总结如下: SVN差异存储的基本原理 SVN(Subversion)采用的是差异存储模型,即每次提交时,只记录相对于上一次提交的差异(增量),而不是整个项目文件的快照。以下是 SVN 差异存储的详细解释: 基本...

Python瞎学瞎用

很久没有更新博客了,有年底很忙的原因,也有在学习用Python瞎鼓捣点什么的因素,其实我并没有停止学习。 学了一段时间Python,本身有开发基础,总想着用Python鼓捣点什么我自己用的上的东西,所以从去年11月开始,就开始学习研究Python GUI编程,现在每天学学写写,走走停停,也算有所积累吧。 当然,还没什么见的人的成果,不过也可以考虑把阶段性代码更新上来,权当记录和一乐了。 ...

Python练习-常用内建模块contextlib

最近很忙,距离上一篇博文过去已经10多天了,不想荒废。今天继续学习Python常用内置模块contextlib。其实主要是学习了contextlib这个模块中@contextmanager这个注解的使用。 前面学习过,在Python可以使用with语句自动的进行如文件处理时的打开和关闭操作。其实从原理上讲,在Python任何实现了__enter__和__exit__方法的类都可以使用w...