是否可以触发另一个提交并通过git hook推送?

时间:2019-04-25 11:44:05

标签: git githooks git-commit git-push

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

我正在尝试使用git hooks: *不能使用pre-commit,因为在提交我要添加的文件之前不会更新 *预先推送:可以将更新的文件添加并提交到git中,但是我无法自动将其推送(仅两次提交中的第一个提交)。我使用的脚本如下:

预推: 'cp ../ updatedfile。 ; git添加updatedfile; git commit-m“ msg”'

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

1 个答案:

答案 0 :(得分:1)

  

理想的解决方案是使用成功推送后触发的内容

这是server-side hook,这不是您想要的,因为服务器将无权访问所生成的更新侧来添加和再次推送。

这取决于您将位置推入。
在GitHub或GitLab上,您将拥有webhook(GitLab webhook here)(也在BitBucket Cloud中)的概念

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