我将创建大量的小git存储库,我试图避免在hooks
,info
等目录中浪费宝贵的空间。
我知道可以使用
指向空模板目录 git-init --template
但有没有办法不被强制指定目录?奇怪的是,--no-template
被认为是一个有效的参数,但它只会使用默认模板。
另外,有没有办法阻止git添加.git/logs
?
答案 0 :(得分:2)
根据以下大小度量,您只需删除.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
执行rm -f .git/hooks/*.sample
后执行git init
。将它捆绑在shell函数中。当然,如果你真的想要削减钩子,你可以做sudo rm -f <path-to-git-install>/share/git-core/templates/hooks/*
如果你需要删除更多,你将进入打破git的领域。
答案 1 :(得分:1)
通过“宝贵的空间”,您在谈论从模板中复制的那些14.1KiB示例数据?对不起,但我不认为你这样浪费任何。
话虽这么说,你可以创建一个git别名来使用不同的模板初始化一个空的存储库:
git config --global alias.init-minimal 'init --template path/to/template'
除此之外,没有办法指定不同的模板,没有搞乱/usr/share/git-core/templates
中的默认值。
此外,您可能无法阻止/logs/
被创建,但好消息是它与您的存储库大小有关。因此,如果您没有多次提交,日志文件将保持很小。