這次一樣借用 git archive 的功能來達成,用 git branch 的方式來取得 branch 版本
$ vim /git/site/hooks/post-receive
#!/bin/bash
site="sha"
export_dir="/usr/share/nginx/html"
branch=(`git branch | sed 's/^..//'`)
for (( i = 0; i < ${#branch[@]}; i++ )); do
if [[ ! -d ${export_dir}/${site}.${branch[i]} ]]; then
mkdir -p ${export_dir}/${site}.${branch[i]}
fi
git archive ${branch[i]} | tar -x -C ${export_dir}/${site}.${branch[i]}
fi
done
用 sed 過濾掉乾淨的 branch 清單後,在 for 建立資料夾以及 archive
當你 push remote server,就會自動掛勾 post-receive 執行裡面的 script !!
Orignal From: Git export 所有 branch 版本的 Source code
沒有留言:
張貼留言