我目前是 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 username@server.com:/var/www/folder
再举一个简单的例子。
另一种选择是使用git-ftp
可能特别适合网站部署的选项,因为 FTP 通常可用。