为git add设置一个钩子

时间:2015-01-29 20:12:08

标签: git version-control githooks collaboration

由于我目前正在开展一个相当大的软件开发项目(我们仍处于规划阶段),因此我们一直在考虑一个合适的VCS。 对于我们希望与整个团队协作的一些功能,我们需要在将某些内容添加到暂存区域时执行shell脚本。

我已阅读不同的网站和Git Book以及Git的手册页,但找不到解决方案。

有各种各样的钩子; Pre-Commit,Prepare-commitmsg等,但不幸的是没有(AFAIK)响应暂存区域的变化。

提前感谢您提供的任何帮助。

编辑:从我得到的评论(我已经尝试过)我现在知道git clean filter将是我想要使用的。它允许我执行我想要执行的操作,并通过提供非零返回值来取消阶段。但这并没有什么帮助,因为我需要一些交互式的东西,或者至少需要通过使用过滤器向用户提供输出的东西。

1 个答案:

答案 0 :(得分:0)

使用您已经发现的git过滤器。

要向用户输出消息,您可以在shell脚本中将 stdout 重定向到 stderr ,如Application.MainFormOnTaskbar