Git export 所有 branch 版本的 Source code

2016-03-29 Git

在之前有寫過一篇 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 !!

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱