我将创建大量的小型git存储库,并尽量避免在hooks、info等目录上浪费宝贵的空间。
我知道可以使用以下命令指向空的模板目录
git-init --template
但是有没有办法不被强制指定目录呢?奇怪的是,--no-template被认为是一个有效的参数,但它将只使用默认模板。
还有,有没有办法阻止git添加.git/logs?
发布于 2012-06-01 00:45:23
基于以下大小度量,您只需删除.git/hooks/*文件即可实现一个非常小的.git存储库。幸运的是,删除钩子是完全安全的(没有钩子;没有动作)。
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的领域。
发布于 2012-06-01 00:47:16
所谓“宝贵的空间”,你指的是从模板中复制的14.1KiB示例数据?抱歉,但我不认为你这样做是在浪费任何东西。
也就是说,您可以创建一个git别名,以使用不同的模板初始化空存储库:
git config --global alias.init-minimal 'init --template path/to/template'除此之外,没有办法指定一个不同的模板,而不会弄乱位于/usr/share/git-core/templates中的默认值。
此外,您可能无法阻止创建/logs/,但它的好处是它与您的存储库大小相关。因此,如果提交次数不多,日志文件将会很小。
https://stackoverflow.com/questions/10837056
复制相似问题