问题标签 [githooks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
15375 浏览

git - Calling 'git pull' from a git post-update hook

I have a central git repo set up using gitolite.

I want to set up a hook such that whenever a user pushes to the repo, it performs a pull elsewhere followed by some automated testing.

So far, I only want to it perform the pull.

In the hooks directory I created the following script names post-update:

When I invoke this script using ./post-update, it does exactly what I want.

However, whenever it's invoked automatically as I hook, I get: fatal: Not a git repository: '.'

Any idea why this might be happening?

0 投票
1 回答
6805 浏览

git - git hook post-merge - 错误:无法运行

为了在拉动后触发 git 钩子,我做了一个合并后钩子。脚本如下所示:

该文件称为“合并后”,并且与运行拉取命令的文件具有相同的所有者。它还具有正确的权限:755。

当你这样做时,我 git pull [remote] master 我得到这个错误:

合并后文件位于 .git/hooks 文件夹中。

0 投票
2 回答
3097 浏览

git - GIT 预接收钩子

有没有办法使用服务器端预接收挂钩更改正在推送到服务器的文件?

假设我想在文件末尾添加一些内容,例如:

每次有人推送到我的回购。

有没有办法可以更改使用的文件git hooks

0 投票
1 回答
6019 浏览

git - git post-commit hook - 提交文件的脚本

我可以在某处看到一个示例 post-commit 挂钩以在每个提交的文件上运行脚本吗?

例如。

并且钩子执行:

最好是有参数来提交命令来运行这个钩子,例如。git commit -X… 执​​行这个 post commit 钩子。最终像git-commitx.

与索引中文件的预提交挂钩相同的版本怎么样?当其中一个文件的脚本执行失败时,我可以中止提交吗?

编辑:

这是我现在拥有的:

0 投票
6 回答
31909 浏览

git - Git远程/共享预提交钩子

将一个官方存储库作为远程存储库,并从中克隆多个本地存储库,是否可以在该主存储库上编写预提交挂钩脚本并在其所有克隆上强制执行?

0 投票
1 回答
2800 浏览

git - 使用 gitosis 管理对 git 存储库的 http 访问

[2010 年 9 月 16 日更新]

昨晚看了这个之后,我意识到我最初的问题实际上是在问两个不同的问题:

1)是否可以为 gitosis 创建的所有远程存储库设置更新后挂钩(即mv hooks/post-update.sample hooks/post-update在 gitosis 创建存储库后不必手动执行)这是通过 HTTP 克隆工作所必需的(愚蠢的 HTTP 客户端依赖于git update-server-info从更新后挂钩中调用的事实)。

2)一旦可以通过 HTTP 访问存储库,是否可以使用 gitosis.conf 中的选项打开和关闭访问(类似于daemon = noor gitweb = yes

--- 问题 1 的解答 ---

事实证明,Git 使用模板通过git init命令创建新的存储库。通过mv hooks/post-update.sample hooks/post-update在模板目录中执行,我的服务器上的所有未来调用git init都将正确配置更新后挂钩。(在 OSX 上,模板目录是/opt/local/share/git-core/templates/为那些关心的人准备的)

这个工作的另一个要求是打开 Apache 重写规则,以便存储库的 HTTP 克隆 URL 看起来像http//git.example.com/repo.git

我的重写规则/etc/apache2/extra/httpd-vhosts.conf如下所示:

--- 仍在寻找问题 2 的解决方案...帮助!:) ---

现在 HTTP 克隆适用于我所有的存储库,我想知道是否有一种方法可以使用 gitosis 来管理 HTTP 访问控制。设置daemon = nogitweb = no关闭存储库的 git-daemon 和 gitweb 访问,但由于 Apache 重写规则仍处于启用状态,因此存储库仍可http://git.example.com/repo.git. 关于如何使用 gitosis 来管理这个的任何想法?

[我最初发布的问题]

是否可以使用 gitosis 管理对 git 存储库的 http 访问?例如,在 gitosis.conf 中,我可以使用以下命令管理 gitweb 和 git-demon 的访问:

我目前可以通过发出以下命令来克隆我的存储库:

但是,当我发出以下命令时:

我收到以下错误消息:

但是,如果我登录到我的服务器并从 repo.git 中运行以下命令:

然后通过http克隆工作正常。

有没有办法从 gitosis 中管理对存储库的 http 访问?

0 投票
1 回答
1374 浏览

git - git commit 不推送后发送邮件

提交到存储库后,我需要发送带有差异的电子邮件。我知道如何在推送后发送电子邮件,但它不适用于提交。

对于推送,我创建了获取参数的钩子 post-receive。但是钩子 post-commit 没有收到任何参数,因此我不能使用我的脚本来发送邮件。

也许有一种方法可以在 post-commit 钩子中获取有关 newrev 和 refname 的信息,或者还有其他方法可以在提交后发送邮件?

0 投票
3 回答
2430 浏览

git - git:谁推了 post-receive 钩子

如何确定谁推送到存储库?

即有人这样做git push origin master,并且在originrepo 的 post-receive 挂钩中,我需要使用 Somebody 的名称或电子邮件。

0 投票
5 回答
11937 浏览

git - git:接收后挂钩中的空参数

post-receive-email我正在根据目录中的脚本编写接收后挂钩contrib,但似乎oldrevandnewrev参数是空的。

脚本如下所示:

该脚本在推送时运行,但所有、 和$1都是$2空的。我应该配置一些东西来让它运行吗?$oldrev$newrev

gitolite如果它确实重要,存储库是由创建的)

0 投票
2 回答
10059 浏览

git - Git:使用 git hook 将回车符 \r 转换为新行 \n?

一位程序员同事使用一台 Windows 计算机,该计算机在我们的源代码中随处放置回车符。

有没有办法编写一个将所有转换为的 git\r\n钩子\n

注意我以前没有使用过 git 钩子,所以多一点额外的手可能会有很长的路要走:)