我使用的软件在成功提交后使用git存储库在磁盘上生成(或更新)某些文件。我想自动将此生成的(更新的)文件添加到git存储库中。它可以包含在同一提交中,也可以包含在下一个提交中,还需要将其推送到远程。
我正在尝试使用git hooks: *不能使用pre-commit,因为在提交我要添加的文件之前不会更新 *预先推送:可以将更新的文件添加并提交到git中,但是我无法自动将其推送(仅两次提交中的第一个提交)。我使用的脚本如下:
预推: 'cp ../ updatedfile。 ; git添加updatedfile; git commit-m“ msg”'
理想的解决方案是使用在成功推送第一个提交后触发的内容,然后创建第二个提交(包含更新的文件)并推送它们。你知道如何解决吗?
答案 0 :(得分:1)
理想的解决方案是使用成功推送后触发的内容
这是server-side hook,这不是您想要的,因为服务器将无权访问所生成的更新侧来添加和再次推送。
这取决于您将位置推入。
在GitHub或GitLab上,您将拥有webhook(GitLab webhook here)(也在BitBucket Cloud中)的概念
优点是您可以为push事件设置一个侦听器:如果该侦听器位于客户端(即那些生成(更新的)文件所在的客户端),则该侦听器可以在推送时触发第二次提交/推送(如果检测到任何本地更新。