当我将某些内容推送到我的 GIT 存储库时,会触发接收后挂钩并执行一些脚本。如果(且仅当)特定文件相对于先前的推送(例如 .sql 文件)发生更改,是否可以在执行这些脚本之前执行某些操作?
谢谢
随机化
当我将某些内容推送到我的 GIT 存储库时,会触发接收后挂钩并执行一些脚本。如果(且仅当)特定文件相对于先前的推送(例如 .sql 文件)发生更改,是否可以在执行这些脚本之前执行某些操作?
谢谢
随机化
在与第一步相同的 post-receive 挂钩中,或者在 pre-receive 或 update 挂钩中,您可以使用
git diff-tree --name-status -rz
并传入传递给钩子(标准输入或参数)的新旧参考并获取文件,检查输出中的修改 - M - 状态并执行您需要的操作。
另请参阅此处了解其他方式: http: //progit.org/book/ch7-4.html