gpt4 book ai didi

Git:运行需要访问存储库中所有文件的脚本的更新后 Hook

转载 作者:太空狗 更新时间:2023-10-29 14:40:59 24 4
gpt4 key购买 nike

我现在遇到了一些难题,因为我需要一个脚本来在远程存储库更新时运行(即,每当有人运行 git push 时),它从存储库中的文件构建包。然后将这些包放入 git 服务器上的一个目录中,该目录通过 HTTP 公开给客户端以供将来使用。

问题是,我不确定如何在更新后 Hook 中访问存储库中的文件。

如果有人能提供一些见解,我们将不胜感激。

最佳答案

首先,您可能希望使用 post-receive Hook 而不是 post-update。根据githooks(5)手册页,接收后取代更新后。

也就是说,你的钩子(Hook)脚本是在 .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 到哪里。

关于Git:运行需要访问存储库中所有文件的脚本的更新后 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1558036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com