我现在遇到了一些困境,因为我需要一个脚本来运行,每当远程存储库更新时(即,每当有人运行 git Push),从存储库中的文件构建包。然后,这些包被放置到 git 服务器上的一个目录中,该目录通过 HTTP 公开给客户端以供将来使用。
问题是,我不确定如何在更新后挂钩中访问存储库中的文件。
如果有人能够提供一些见解,我们将不胜感激。
首先,您可能想使用 post-receive 挂钩而不是 post-update。根据吉特钩子(5) http://book.git-scm.com/5_git_hooks.html手册页中,接收后取代更新后。
也就是说,您的钩子脚本是在 .git/hooks 子目录中执行的,所以如果您执行一个简单的操作
cd ..
您的脚本位于 git 存储库的工作树中。例如,这是一个小脚本,可确保每当您推送到存储库时远程 git 存储库的工作树都会更新:
#!/bin/sh
export GIT_DIR=
cd ..
echo "Resetting working tree..."
git reset --hard
echo "Finished resetting working tree."
请注意,您需要取消设置 GIT_DIR 环境变量;它是自动设置的,只要设置了,所有 git 命令都将在该目录中运行 - 无论您 cd 到哪里。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)