由于Git是累积的,当repo变为5GB时如何长期处理?

nop*_*ole 4 git

对于Git,因为所有的历史都在那里,我想知道,如果我保留一份回购用于保存我写的所有代码,在5年或10年内,所有修订历史记录,那么回购将变为5GB.

如果一台机器没有repo,我想尝试一个代码片段或一个小的Rails项目,我必须克隆整个5GB,这不会太实用.

比方说,如果超出5GB,当前文件只有200MB,而其他所有都是历史记录,那么至少如果使用SVN,那么每台机器将拥有200MB而不是5GB.也许Git非常适合每个独立的小型或中型项目,但如果它是"长期我的整个生命回购",那么如何使用Git呢?

yfe*_*lum 6

使用多个Git存储库.单个服务器可以处理任意数量的存储库.

如果要在存储库中弄脏,可以创建一个新分支,重写它的历史记录(将多个提交合并为一个),并删除第一个分支.


Dam*_*son 5

你是对的先生,Git Wiki同意你的意见.话虽这么说,如果你不关心从这个假设的git存储库推送/拉动更改,你可以做一个"浅"克隆来提取没有它的历史记录的提交:

git clone --depth X
Run Code Online (Sandbox Code Playgroud)

其中X是回到历史,你想能走多远.1将为您提供最近的提交,2将提取最新的和之前的提交,依此类推第四.