如果我错了,请更正我,但不是为OS项目分发SCM,而集中式SCM更适合企业/私人项目?
因为例如.mercurial任何人都可以获得具有完整历史记录功能的存储库的精确副本,而在集中式的情况下,您只能获得最新的工作副本.
我更关注私人项目,所以我想知道集中式SCM是否更好或不重要?
对于Git,因为所有的历史都在那里,我想知道,如果我保留一份回购用于保存我写的所有代码,在5年或10年内,所有修订历史记录,那么回购将变为5GB.
如果一台机器没有repo,我想尝试一个代码片段或一个小的Rails项目,我必须克隆整个5GB,这不会太实用.
比方说,如果超出5GB,当前文件只有200MB,而其他所有都是历史记录,那么至少如果使用SVN,那么每台机器将拥有200MB而不是5GB.也许Git非常适合每个独立的小型或中型项目,但如果它是"长期我的整个生命回购",那么如何使用Git呢?
我将使用 git/github 来跟踪我正在做的写作项目。我后来希望将 repo 的变更日志用于研究目的。
为了获得更多正在进行的工作的观察/快照,我正在考虑编写一个脚本,每 10 分钟检查一次更改,并自动添加、提交和推送它们(假设没有合并问题)。
如果我在项目上平均每周工作 10 小时,持续 6 个月,那就是(大约)14,400 次小提交。由于有这么多的总提交,我会开始遇到任何形式的 git 瓶颈或性能下降吗?
如果没有,是否有任何突破点?数百万次提交?
据我了解,Git 中的每次提交都是整个存储库的“快照”,这意味着至少必须读取每个文件。我的存储库是 9.2 GB,提交只需几分之一秒。发生得如此之快毫无意义。