【问题标题】:Git Hooks - post-merge hook file not existGit Hooks - 合并后挂钩文件不存在
【发布时间】:2016-04-06 16:22:04
【问题描述】:

我是 Git 版本控制系统的新手。 我已经在我的 Ubuntu 机器上安装了 git。 只有以下钩子可用。

applypatch-msg.sample
commit-msg.sample
post-update.sample
pre-applypatch.sample
pre-commit.sample
prepare-commit-msg.sample
pre-push.sample
pre-rebase.sample
update.sample

“合并后”挂钩文件在哪里?

【问题讨论】:

    标签: git version-control githooks


    【解决方案1】:

    commit 4623291 (git 1.5.4, Sept 2007) 中引入了 post-merge 挂钩,但从未包含 post-merge.sample 文件。

    diff --git a/git-merge.sh b/git-merge.sh
    index 3a01db0..66e48b3 100755
    --- a/git-merge.sh
    +++ b/git-merge.sh
    @@ -97,6 +97,19 @@ finish () {
                    fi
                    ;;
            esac
    +
    +       # Run a post-merge hook
    +        if test -x "$GIT_DIR"/hooks/post-merge
    +        then
    +           case "$squash" in
    +           t)
    +                "$GIT_DIR"/hooks/post-merge 1
    +               ;;
    +           '')
    +                "$GIT_DIR"/hooks/post-merge 0
    +               ;;
    +           esac
    +        fi
     }
    

    所以如果你需要那个钩子,你可以创建一个post-merge 文件(在通常的位置.git/hooks/)。但是你和其他人在同一个地方没有任何样品。

    commit af6fb4c 确实添加了引用 post-merge 示例,但通过调用:

    git/git/contrib/hooks/setgitperms.perl

    该脚本包括:

    要恢复权限/所有权数据,请将此脚本放在您的 .git/hooks 目录中,并使用以下行启用 post-merge 挂钩:

      #!/bin/sh
     . git-sh-setup
     $GIT_DIR/hooks/setgitperms.perl -w
    

    【讨论】:

    • 是……?非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2015-09-10
    • 2014-04-06
    • 1970-01-01
    • 2021-04-14
    • 2021-12-19
    • 2012-05-17
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多