2013-05-07 92 views
2

我目前是一個新手與git。同步git倉庫與服務器沒有混帳

我的想法是,我正在使用我的本地git回購,並將其推送到裸回購。

但是,然後我想將更改發佈到一個沒有安裝git的可能性的活動站點。所以我無法從裸回購做到拉住現場。 你會如何同步從裸露的git存儲庫到這個活網站的變化?

非常感謝您的想法。

BR

回答

2

因爲你不能在遠程服務器上安裝任何東西,你會寫一個部署腳本,將使用ssh(rsync的),SFTP,或其他文件「發佈」代碼網站轉移方法。我不會在腳本中包含任何登錄信息,而是要求它作爲腳本的參數或環境變量。

這裏有一個_ 簡單 _例如使用bash:

#!/bin/bash 

usage() { 
    echo "deploy usage: 
    echo " deploy sshtarget # uses rsync" 

    exit 1 
} 

if [ $# -eq 0 ]; then 
    usage 
fi 

echo "Deploying to $1..." 

rsync -e ssh -avh --progress --exclude .git* --exclude .giti* --exclude deploy * $1 

exit 0 

所以這個使用用戶的當前SSH身份爲基礎,將文件複製到遠程服務器,「sshtarget」將是遠程目錄。例如,如果deploy腳本是在源代碼樹的根,所以是你發佈的文件:

./deploy [email protected]:/var/www/folder 

同樣,一個簡單的例子。

0

另一種選擇是使用git-ftp,它可能特別適合網站部署,因爲FTP通常是可用的。