1

我将创建大量的小型 git 存储库,并且我试图避免在 , 等目录中浪费宝贵的hooks空间info

我知道可以使用指向一个空模板目录

git-init --template

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

另外,有没有办法防止 git 添加.git/logs

4

2 回答 2

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 的领域。

于 2012-05-31T16:45:22.897 回答
1
于 2012-05-31T16:47:16.420 回答