我将创建大量的小型 git 存储库,并且我试图避免在 , 等目录中浪费宝贵的hooks
空间info
。
我知道可以使用指向一个空模板目录
git-init --template
但是有没有办法不被强制指定目录?奇怪的--no-template
是,它被认为是一个有效的参数,但它只会使用默认模板。
另外,有没有办法防止 git 添加.git/logs
?
我将创建大量的小型 git 存储库,并且我试图避免在 , 等目录中浪费宝贵的hooks
空间info
。
我知道可以使用指向一个空模板目录
git-init --template
但是有没有办法不被强制指定目录?奇怪的--no-template
是,它被认为是一个有效的参数,但它只会使用默认模板。
另外,有没有办法防止 git 添加.git/logs
?
根据以下大小测量,您只需要删除 .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 的领域。