版本控制如何工作?

时间:2009-05-18 06:53:25

标签: version-control

版本控制通常如何工作?它是否将diff文件保存为带有哈希的跟踪以验证路径?

3 个答案:

答案 0 :(得分:8)

查看Eric Sinks blog series on version control

此外,Joel Spolsky写了Hg Init: a Mercurial tutorial,这最终使我“得到”了分布式源代码控制的全部内容。

有一种方法可以给猫皮肤......

答案 1 :(得分:7)

不同的VCS使用不同的方法。例如,CVS将在服务器上为您提交的每个文件创建一个文件。这本质上是一个RCS格式的文件; CVS只是RCS的一个包装器,它在目录子树中的许多文件上运行RCS命令(RCS只能处理单个文件)。

RCS文件包含更改列表(版本号,签入消息以及更改的内容)。之后是当前HEAD版本的副本。其余文件是版本之间的差异(long explanation)。

这样,CVS可以快速返回HEAD版本(最常请求),并且可以计算其他版本。

CVS不做任何验证;如果您的某个文件损坏,则需要备份。由于CVS基于RCS,因此它不能对版本目录进行版本控制,也不能跟踪重命名。 CVS和RCS使用标准diff(1)命令来创建差异。

Subversion(SVN)类似地工作但添加了目录和重命名的版本。此外,SVN使用更好的diff算法(xdelta),它提供了一个更小的存储库。

有关Git的工作原理的说明,请参阅here

答案 2 :(得分:0)

Darcs非常不同,恕我直言比其他SCM更直观,甚至是分布式的。 对于初学者来说,有一个很好的指导:Understanding Darcs

相关问题