【问题标题】:Githook to msg on change to specific directoryGithook 到 msg 更改到特定目录
【发布时间】:2017-03-06 16:51:23
【问题描述】:

当主分支上的特定目录发生更改时,如何编写一个接收后挂钩来执行某些操作?到目前为止,我想出了如何确定推送是否涉及主分支,但我正在努力确定给定目录是否已更改。我想我必须在这里做一些 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

【问题讨论】:

    标签: git githooks


    【解决方案1】:

    创建一个git diff --name-only $oldrev $newrev 并检查您的路径的输出。

    【讨论】:

      【解决方案2】:

      这符合我现在的需要。

      #!/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
      

      【讨论】:

        猜你喜欢
        • 2021-03-31
        • 2016-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-17
        • 1970-01-01
        相关资源
        最近更新 更多