我目前是一個新手與git。同步git倉庫與服務器沒有混帳
我的想法是,我正在使用我的本地git回購,並將其推送到裸回購。
但是,然後我想將更改發佈到一個沒有安裝git的可能性的活動站點。所以我無法從裸回購做到拉住現場。 你會如何同步從裸露的git存儲庫到這個活網站的變化?
非常感謝您的想法。
BR
我目前是一個新手與git。同步git倉庫與服務器沒有混帳
我的想法是,我正在使用我的本地git回購,並將其推送到裸回購。
但是,然後我想將更改發佈到一個沒有安裝git的可能性的活動站點。所以我無法從裸回購做到拉住現場。 你會如何同步從裸露的git存儲庫到這個活網站的變化?
非常感謝您的想法。
BR
因爲你不能在遠程服務器上安裝任何東西,你會寫一個部署腳本,將使用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
同樣,一個簡單的例子。
另一種選擇是使用git-ftp
,它可能特別適合網站部署,因爲FTP通常是可用的。