是否可以通过 git 钩子触发另一个提交和推送?

Is it possible to trigger another commit and push by git hook?

我使用的软件使用 git 存储库在成功提交后在磁盘上生成(或更新)一些文件。我想自动将这个生成的(更新的)文件添加到 git 存储库。它可以包含在同一个或下一个提交中,也需要推送到远程。

我试图使用 git 钩子: * 不能使用预提交,因为在提交之前我想添加的文件没有更新 * 预推送:更新的文件可以添加并提交到 git,但我无法自动推送它(只有两次提交中的第一个被推送)。我正在使用如下脚本:

预推: 'cp../updatedfile . ; git add updatedfile; git commit - m "msg"'

理想的解决方案是使用在第一次提交成功推送后触发的东西,然后创建第二个提交(包含更新的文件)并推送它们。你知道如何解决吗?

The ideal solution would be to use something which is triggered after the successful push

那是一个 server-side hook,这不是您想要的,因为服务器将无法访问生成的更新端以再次添加和推送。

然后取决于你在哪里推送。
在 GitHub 或 GitLab 上,你会有 webhook (GitLab webhook here) (also in BitBucket Cloud)

的概念

优点是您可以为推送事件设置一个侦听器:如果该侦听器位于客户端,即那些生成(更新)的文件所在的位置,则该侦听器可以在推送时触发第二个 commit/push(如果检测到任何本地更新)。