首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建尽可能小的git存储库

创建尽可能小的git存储库
EN

Stack Overflow用户
提问于 2012-05-31 23:53:58
回答 2查看 251关注 0票数 1

我将创建大量的小型git存储库,并尽量避免在hooksinfo等目录上浪费宝贵的空间。

我知道可以使用以下命令指向空的模板目录

git-init --template

但是有没有办法不被强制指定目录呢?奇怪的是,--no-template被认为是一个有效的参数,但它将只使用默认模板。

还有,有没有办法阻止git添加.git/logs

EN

回答 2

Stack Overflow用户

发布于 2012-06-01 00:45:23

基于以下大小度量,您只需删除.git/hooks/*文件即可实现一个非常小的.git存储库。幸运的是,删除钩子是完全安全的(没有钩子;没有动作)。

代码语言:javascript
复制
ebg@taiyo(509)$ du -sh foo/.git
 52K    foo/.git
ebg@taiyo(510)$ du -sh foo/.git/*
  4K    foo/.git/HEAD
  0B    foo/.git/branches
  4K    foo/.git/config
  4K    foo/.git/description
 36K   foo/.git/hooks
  4K    foo/.git/info
  0B    foo/.git/objects
  0B    foo/.git/refs
ebg@taiyo(511)$ du -sh foo/.git/hooks/*
  4K    foo/.git/hooks/applypatch-msg.sample
  4K    foo/.git/hooks/commit-msg.sample
  4K    foo/.git/hooks/post-update.sample
  4K    foo/.git/hooks/pre-applypatch.sample
  4K    foo/.git/hooks/pre-commit.sample
  8K    foo/.git/hooks/pre-rebase.sample
  4K    foo/.git/hooks/prepare-commit-msg.sample
  4K    foo/.git/hooks/update.sample

只需在执行git init之后执行rm -f .git/hooks/*.sample即可。将其捆绑在shell函数中。当然,如果您真的打算去掉这些钩子,那么可以使用sudo rm -f <path-to-git-install>/share/git-core/templates/hooks/*

如果您需要删除更多内容,您将进入破坏git的领域。

票数 2
EN

Stack Overflow用户

发布于 2012-06-01 00:47:16

所谓“宝贵的空间”,你指的是从模板中复制的14.1KiB示例数据?抱歉,但我不认为你这样做是在浪费任何东西。

也就是说,您可以创建一个git别名,以使用不同的模板初始化空存储库:

代码语言:javascript
复制
git config --global alias.init-minimal 'init --template path/to/template'

除此之外,没有办法指定一个不同的模板,而不会弄乱位于/usr/share/git-core/templates中的默认值。

此外,您可能无法阻止创建/logs/,但它的好处是它与您的存储库大小相关。因此,如果提交次数不多,日志文件将会很小。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10837056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档