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