【发布时间】:2015-03-29 05:01:48
【问题描述】:
由于我目前正在从事一个相当大的软件开发项目(我们仍处于规划阶段),因此我们一直在考虑一个合适的 VCS。 对于我们希望与整个团队协作的某些功能,我们需要在将某些内容添加到暂存区域时执行一个 shell 脚本。
我已经阅读了不同的网站和 Git Book 以及 Git 的手册页,但找不到解决方案。
有各种各样的钩子; Pre-Commit、Prepare-commitmsg 等,但不幸的是,没有任何 (AFAIK) 可以响应暂存区的变化。
提前感谢您提供的任何帮助。
编辑:根据我得到的评论(并且我已经尝试过),我现在知道我想要使用 git clean 过滤器。它允许我执行我想要执行的操作并通过提供非零返回值来取消阶段。不过,这并没有真正的帮助,因为我需要一些交互式的东西,或者至少需要为用户提供输出,而这似乎无法通过使用过滤器来实现。
【问题讨论】:
-
imnsho,每当任何开发人员将一些随机的内容放到他们自己的仓库中时,您都不想广播单个击键,这几乎没有价值。也就是说,如果你真的需要,git 称这些为“过滤器”。
-
@jthill:你说得对,过滤器几乎就是我需要的。有没有办法在过滤器结束时向用户传递消息?
标签: git version-control githooks collaboration