哪些操作会导致远程存储库更新多个引用

AD7*_*six 0 git githooks

在玩一些钩子时,我注意到在推送到远程存储库时调用的钩子的输出略有不同:

hooks/pre-receive
stdin: [[old-value new-value ref-name]]

hooks/update ref-name old-value new-value

hooks/post-receive
stdin: [[old-value new-value ref-name]]

hooks/post-update ref-name
Run Code Online (Sandbox Code Playgroud)

哪里:

  • *value:提交哈希
  • ref-name:例如,refs/heads/master

钩子接收的信息格式不一致,但这个问题特别令人感兴趣的是接收前和接收后可以通过标准输入接受多个更新的参考.文档说:

该钩子为接收操作执行一次.它不需要参数,但是对于每个ref都要更新它在标准输入上接收格式的一行:

旧值新值引用

因此,在什么情况下这些钩子会收到多个值?

J-1*_*DiZ 5

Ppushing多个分支/标记将生成多个值.您可以执行以下命令:

 git push origin branch1 branch2 branch3 tag1 tag2 tag3
Run Code Online (Sandbox Code Playgroud)