2016年3月29日 星期二

Git export 所有 branch 版本的 Source code

在之前有寫過一篇 Git 用 archive 匯出原始碼,今天接收到一項需求是 RD 在 git 切 branch 後 push 到 Remote Server 需要自動匯出新建的 branch

 

這次一樣借用 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

沒有留言:

張貼留言