PVCS 版本 - SVN 版本 - GIT sha 值的含义和区别是什么

what is the meaning and difference PVCS version - SVN revision - GIT sha value

任何人都可以帮助我了解 PVCS 版本号 - Subversion 修订号 - git sha 值的区别和含义。

Subversion 的修订号是存储库年表中的提交号。这没什么神奇的。新创建的 svn 存储库的修订版本为 0
每个新提交都会增加修订号,并获得分配给它的新编号作为其修订版。分支机构在此过程中无关紧要。 在 Subversion,文件的修订号是文件修改时的最新 commit/revision 号。


由于其性质和内部工作 git 无法为提交分配序号。 git 使用 sha1 校验和来识别任何东西:提交、标签、树、blob、文件、目录。 sha1 值是使用它标识的对象的内容计算的。
相关对象的 sha1 值之间没有关系,但更改对象的内容会生成 sha1 的级联更改,从而标识依赖于它的对象。例如,如果您使用 git rebase 将一些提交从一个分支移动到另一个分支,则所有移动的提交的 sha1 标识符都会更改。


我对PVCS一无所知。对不起。

PVCS 和 SVN 是集中存储库:

  • PVCS 每个文件使用一个增量数
  • SVN 每次修订使用增量编号

Git 是分散的,这意味着它不能使用递增的数字(或者它会在几个分布式克隆 repo 中同时递增)

SHA1 表示提交的内容(参见“Git Internals - Git Objects" and "How is git commit sha1 formed ”)