我正在学习这两个源代码控制系统,发现它们的分支策略非常不同。
Perforce 将其所有原始文件复制到新分支,虽然它确实采用了一些技巧(例如惰性复制,“p4 -v”)来防止空间增长,但最终它会消耗更多空间并留下更多元数据。相反,在 GIT 中,分支基本上是指针的移动。我想知道为什么 Perforce 不能采用同样的方法?那是因为它带来了存储快照(如在 git 中)而不是文件差异(如在 Perforce 中)的负担吗?
另外,为什么 GIT 存储文件的快照而不是差异?有没有必要这样做?这是否意味着在一般情况下 GIT 代码库会比 Perforce 大?如果相同的东西要存储在两个系统中?GIT 的提交时间会更长吗?