我应该如何设置git remote repo以部署网站?
我正在试图找出使用git部署我的站点的最佳方式,我在服务器上设置了一个裸repo,这样我就可以将我的本地repo推到它上面,它工作得很好,但我有几个问题: 假设我的repo在我服务器上的我应该如何设置git remote repo以部署网站?,git,github,repository,git-push,Git,Github,Repository,Git Push,我正在试图找出使用git部署我的站点的最佳方式,我在服务器上设置了一个裸repo,这样我就可以将我的本地repo推到它上面,它工作得很好,但我有几个问题: 假设我的repo在我服务器上的public\u html文件夹中,如果我使用git init--bare创建它,我就可以推送我的本地.git文件夹,这样我就无法访问我的工作目录文件,如果我用git initgit init创建一个常规回购,每次我尝试推送时都会收到一条警告,说我不应该推送非裸回购。那我该怎么办?例如,Github确实存储了我的
public\u html
文件夹中,如果我使用git init--bare
创建它,我就可以推送我的本地.git
文件夹,这样我就无法访问我的工作目录文件,如果我用git initgit init
创建一个常规回购,每次我尝试推送时都会收到一条警告,说我不应该推送非裸回购。那我该怎么办?例如,Github确实存储了我的工作文件,但我没有收到奇怪的警告消息
提前谢谢 实际上有两种选择:
1) 定期从你的裸回购中提取实际的网站(例如,通过cron)
2) 从主回购协议中获取实际的网站(假设可以通过拉取进行访问,并且更改最终位于主回购协议(或类似协议)中,并且您从未向主回购协议提交尚未准备就绪的内容)
3) 推送完成后,使用裸回购中的挂钩在真实位置执行
git pull
。如果您这样做,请确保取消设置GIT_DIR环境变量,该变量最终将在钩子的环境中设置。感谢您的回答,我使用了您的第一个建议,并做了一些修改,我在我的服务器上设置了一个repositories文件夹,在public\u html
文件夹中,我只需手动拉取其中任何一个的主分支即可访问,