如何禁止git commit -a选项

时间:2012-09-27 09:35:03

标签: git

我们是一组开发人员,处理同一组文件。我想确保没有人做git commit -a -m或git commit -am

包括我在内的开发人员都有git commit -am/ -a -m这个糟糕的习惯,我们有很多特定于机器的conf文件,每次都会被提交。我可以要求我们所有人使用--assume-unchanged但我想让开发人员无法使用-a标志

我能不能以某种方式实现这一目标。?

2 个答案:

答案 0 :(得分:5)

我建议你以不同的方式解决这个问题:

  1. 使用.gitignore file专门排除不得提交的文件或
  2. 使用pre-commit hook自动拒绝看似使用-a。
  3. 制作的提交

    当你坚持禁用-a标志时:好吧,git是开源的。查找和禁用读取-a命令行参数和重新编译的代码应该不那么难。但这意味着每当发布新版本的git时你都必须再次这样做,所以我真的会反对。

答案 1 :(得分:2)

您可以编写一个包装器git脚本,用于检查命令是否为commit并设置了-a标志。然后你可以删除它并将其他所有内容传递给实际的git,或者提示“Bad User!Bad!”。将该脚本放在实际git路径之前的路径中,或为gitwrap创建别名。

@PiotrZierhoffer发现了这个:

  

这方面的一个例子是:   Disable -m in git