有没有办法全局配置git
不自动生成用户的电子邮件,如果没有设置并中止提交呢?
$ git commit -m "test"
[master (root-commit) 71c3e2e] test
Committer: unknown <my.user@my.very.own.hostname>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
如果提交者不够仔细检查git
警告,这可能会导致严重的隐私泄露。
答案 0 :(得分:3)
设置git config --global user.useConfigOnly true
user.useConfigOnly
指示Git避免尝试猜测user.email和user.name的默认值,而是仅从 组态。例如,如果您有多个电子邮件地址,并且 想要为每个存储库使用不同的存储库,然后使用 配置选项在全局配置中与true一起设置为true 名称,Git将提示您设置电子邮件,然后再进行新提交 在新克隆的存储库中。默认为false。
答案 1 :(得分:1)
根据@cupcake的建议,可以使用git
预提交挂钩来完成此操作。
像这样创建名为pre-commit
的文件:
#!/bin/sh
git config user.name >/dev/null 2>&1
if [[ $? != 0 ]]; then
echo "Error: user.name is undefined. Use 'git config user.name \"Your Name\"' to set it."
exit 1
fi
git config user.email >/dev/null 2>&1
if [[ $? != 0 ]]; then
echo "Error: user.email is undefined. Use 'git config user.email you@example.com' to set it."
exit 1
fi
如有必要,请使用chmod +x pre-commit
将此文件丢给全局git
挂钩模板:
在* nix系统上,它位于
/usr/share/git-core/templates/hooks
在Windows上,这通常可以在
中找到 %ProgramFiles%\Git\share\git-core\templates\hooks
使用git
重新初始化现有的git init
回购。