有人能帮我了解PVCS
版本号-Subversion
修订号-git
sha值的区别和意义吗。
PVCS和SVN是集中的repos:
- PVCS对每个文件使用增量
- SVN每次修订都使用递增编号
Git是去中心化的,这意味着它不能使用递增的数字(或者在几个分布式克隆回购中同时递增(
SHA1表示提交的内容(请参阅"Git内部-Git对象"one_answers"Git commit SHA1是如何形成的"(
Subversion
的修订号是存储库年表中提交的编号。它没有什么神奇之处。一个新创建的svn
存储库正在修订0
每次新提交都会增加修订号,并将分配给它的新编号作为其修订号。分支在此过程中并不重要。在Subversion
上,文件的修订号是修改文件时的最新提交/修订号。
由于其性质和内部工作,git
无法为提交分配序列号。git
使用sha1
校验和来标识任何内容:提交、标记、树、Blob、文件、目录。sha1
值是使用其标识的对象的内容来计算的
相关对象的sha1
值之间没有关系,但更改对象的内容会生成sha1
的级联更改,以标识依赖它的对象。例如,如果使用git rebase
将一些提交从一个分支移动到另一个分支,则所有移动的提交的sha1
标识符都会更改。
我对PVCS
一无所知。很抱歉