我目前是一个新手与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通常是可用的。