Githook to msg更改特定目录

时间:2017-03-06 16:51:24

标签: git githooks

如果在主分支上的特定目录发生更改时,如何编写后接收挂钩?到目前为止,我想出了如何确定推送是否涉及主分支,但我正在确定给定目录是否已更改。我想我必须在这里做一些git魔法。

在这种情况下,我想检查schema/目录中是否有任何更改。到目前为止,这就是我从文档中获取的所有内容。

#!/bin/bash
echo POST-RECEIVE
while read oldrev newrev refname
do
    branch=$(git rev-parse --symbolic --abbrev-ref $refname)
    if [ "master" == "$branch" ]; then
        do_something $oldrev $newrev $refname
    fi
done

2 个答案:

答案 0 :(得分:0)

制作git diff --name-only $oldrev $newrev并检查路径的输出。

答案 1 :(得分:0)

这适合我现在的需要。

#!/bin/bash
echo POST-RECEIVE
while read oldrev newrev refname
do
    branch=$(git rev-parse --symbolic --abbrev-ref $refname)
    if [ "master" == "$branch" ]; then
        git diff --quiet --exit-code $oldrev $newrev -- schema/ || echo SUCCESS
    fi
done