前面使用了git、incron进行了网站的自动发布,但一个git版本系统里的多个分支要是同时发布在一台服务器上,则显得太冗余。因此需要处理多分支的自动发布方案。
在此处找到了解决方案:
http://www.ekynoxe.com/git-post-receive-for-multiple-remote-branches-and-work-trees/
结合incron技术,最终的解决方法就是修改post-receive钩子:
#!/bin/bash while read oldrev newrev ref do branch=`echo $ref | cut -d/ -f3` if [ "master" == "$branch" ]; then date +"%Y-%m-%d %H:%M:%S" >> /home/wlx/westdc.git/hooks/westdc.update.lck fi if [ "heihedata" == "$branch" ]; then date +"%Y-%m-%d %H:%M:%S" >> /home/wlx/westdc.git/hooks/heihedata.update.lck fi if [ "card" == "$branch" ]; then date +"%Y-%m-%d %H:%M:%S" >> /home/wlx/westdc.git/hooks/card.update.lck fi done
发表回复