自动将某些推送转发到其他存储库

post-receive hooks 可用于自动将传入推送转发到另一个存储库。

$ cat .git/hooks/post-receive

#!/bin/bash

IFS=' '
while read local_ref local_sha remote_ref remote_sha
do

  echo "$remote_ref" | egrep '^refs\/heads\/[A-Z]+-[0-9]+$' >/dev/null && {
    ref=`echo $remote_ref | sed -e 's/^refs\/heads\///'`
    echo Forwarding feature branch to other repository: $ref
    git push -q --force other_repos $ref
  }

done

在此示例中,egrep regexp 查找特定的分支格式(此处:JIRA-12345 用于命名 Jira 问题)。当然,如果要转发所有分支,可以将此部分保留。