根据特定条件自动拒绝提交

时间:2014-05-06 12:43:47

标签: git version-control atlassian-sourcetree

我自己一直在寻找这个问题,但我几乎没有这个主题的经验,所以我只是希望有人在这里遇到过这个。

是否可以在SourceTree中运行某种类型的脚本,它会检查文件中的某些条件(例如,检查文件是否在任何地方使用“StaticMethodX。”并且如果是?

我正在尝试在团队中强制执行更好的编码标准。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:6)

你可以:

  • 要求您的客户使用pre-commit hook(也在this article中提供或在this question中说明),但如果他们想要

  • 或者您可以设置pre-receive挂钩,如果不遵循您的政策,将拒绝服务器端的推送。
    它将使用git diff-index --cached --name-only,如this question中所示,以获取每个文件的内容。

服务器端方法通常受到青睐,因为它更容易保持,维护和执行。

答案 1 :(得分:0)

尝试使用npm pre-git,它允许您在预提交和预推送上运行命令。 使用带有以下命令的终端

开放源码
open /Applications/SourceTree.app/Contents/MacOS/SourceTree

现在你尝试提交和推送,sourcetree将运行预提交和预推钩。