有没有办法在 Git checkout 新分支后触发钩子(Hook)?
最佳答案
一个 git hook 是一个脚本,放在你的仓库的一个特殊位置,那个位置是:
.git/hooks
脚本可以是您可以在您的环境中执行的任何类型,即 bash、python、ruby 等。
checkout 后执行的 Hook 是 post-checkout .来自文档:
...The hook is given three parameters...
示例:
创建 Hook (脚本):
touch .git/hooks/post-checkout chmod u+x .git/hooks/post-checkout
Hook示例内容:
#!/bin/bash
set -e
printf '\npost-checkout hook\n\n'
prevHEAD=$1
newHEAD=$2
checkoutType=$3
[[ $checkoutType == 1 ]] && checkoutType='branch' ||
checkoutType='file' ;
echo 'Checkout type: '$checkoutType
echo ' prev HEAD: '`git name-rev --name-only $prevHEAD`
echo ' new HEAD: '`git name-rev --name-only $newHEAD`
注意:第一行的shebang表示脚本的类型。
这个脚本(git hook)只会捕获传递的三个参数,并以人性化的格式打印它们。
关于git - 在 Git 中 checkout 新分支后,有没有办法触发钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1011557/