技术开发 频道

版本控制系统(VCS)入门插图教程

    Diff

    Diff就是你编辑时所做的变动。你可以想象一下,单独将变动部分保存下来,然后将它们应用到一个文件上:

    比如,从r1版到r2版,我们加入eggs(+Eggs)。你可以将这个过程想象成,单独将图中红色的部分保存下来,然后将它应用到r1上,就可以得到r2。

    从r2版到r3版,我们加入了Juice(+Juice)。从r3版到r4版,我们删去了Juice加入了Soup(-Juice, +Soup)。

    大多数版本控制系统,只保存diff,而不是文件的完整版本。这样可以节省磁盘空间。你做了4次修改,不意味着系统保留了4份拷贝。实际上,系统内只有1份拷贝和4个diff。在SVN中,我们用下面的命令diff一个文件的两个版本:

    svn diff -r3:4 list.txt

    Branch

    Branch可以将源文件做一份拷贝,保存在VCS的另一个位置,然后我们对拷贝进行修改,不会影响到源文件。

    比如,上图中我们创建了一个branch,在其中加入了Rice,而在trunk上加入的是Bread。有的VCS在创建Branch时,可能会修改版本号。

    在Subversion中,创建branch的命令很简单,只要从一个目录拷贝到另一个目录就可以了。

    svn copy http://path/to/trunk http://path/to/branch

    所以,branch并不难理解,你只要想像将代码拷贝到不同目录就行了。它的好处在于,不管你做错了什么,你总可以回到一个安全的版本。

0
相关文章