2

当我将某些内容推送到我的 GIT 存储库时,会触发接收后挂钩并执行一些脚本。如果(且仅当)特定文件相对于先前的推送(例如 .sql 文件)发生更改,是否可以在执行这些脚本之前执行某些操作?

谢谢

随机化

4

1 回答 1

1

在与第一步相同的 post-receive 挂钩中,或者在 pre-receive 或 update 挂钩中,您可以使用

git diff-tree --name-status -rz

并传入传递给钩子(标准输入或参数)的新旧参考并获取文件,检查输出中的修改 - M - 状态并执行您需要的操作。

另请参阅此处了解其他方式: http: //progit.org/book/ch7-4.html

于 2011-11-20T09:24:10.990 回答