使.git尽可能小
我们的一些实时网站接收自动代码更新。我希望这些自动提交(不要担心这是否合理,所有内容都经过单元测试,只有小型站点可以自动更新) 当我将repo放到实时web服务器上时,其大小变得非常大 保存本地历史中仅有一个分支的最小历史的最佳方法是什么使.git尽可能小,git,Git,我们的一些实时网站接收自动代码更新。我希望这些自动提交(不要担心这是否合理,所有内容都经过单元测试,只有小型站点可以自动更新) 当我将repo放到实时web服务器上时,其大小变得非常大 保存本地历史中仅有一个分支的最小历史的最佳方法是什么 谢谢。您可以尝试确保服务器上的裸机回购创建了一个克隆,该克隆: 深度较浅(深度=1) 有 (以便能够推送到浅克隆 这将是: git clone -b mybranch --depth 1 /url/of/my/repo () 这将导致服务器上的git r
谢谢。您可以尝试确保服务器上的裸机回购创建了一个克隆,该克隆:
- 深度较浅(深度=1)
- 有
- (以便能够推送到浅克隆
git clone -b mybranch --depth 1 /url/of/my/repo
()
这将导致服务器上的git repo相当紧凑
Git 2.5(2015年第2季度)甚至支持单取提交!请参阅“关于保持Git尽可能小的最佳方法的好建议是:
rebase
,偶尔重新设置分支的基础,并删除带有特定标记的所有提交(您可以tag
小的提交,然后使用rebase
只保留结果)另一个工作流是:在您的集成服务器上使用
git archive
来构建要部署的提交的存档(tar.gz
或tar.bz2
),并将此存档发送到您的实时服务器(scp
,sftp
,rsync
)
不再从生产服务器访问git,也不再使用
.git
目录。您有任何数字吗?如果您在存储库上只有一个分支,然后运行一个积极的gc来删除所有悬空对象,它应该会对存储库进行相当大的压缩。我们通常使用3个主要分支远程:dev、staging、master+a who很多功能分支。Git 2.5(2015年第2季度)支持单次获取提交!我在下面编辑了我的答案,现在引用了“”。谢谢,我现在无法验证,因为我的主机使用Git 1.7。在本地,它似乎工作得很好。