Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该如何设置git remote repo以部署网站?_Git_Github_Repository_Git Push - Fatal编程技术网

我应该如何设置git remote 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确实存储了我的

我正在试图找出使用git部署我的站点的最佳方式,我在服务器上设置了一个裸repo,这样我就可以将我的本地repo推到它上面,它工作得很好,但我有几个问题:

假设我的repo在我服务器上的
public\u html
文件夹中,如果我使用
git init--bare
创建它,我就可以推送我的本地
.git
文件夹,这样我就无法访问我的工作目录文件,如果我用git init
git init
创建一个常规回购,每次我尝试推送时都会收到一条警告,说我不应该推送非裸回购。那我该怎么办?例如,Github确实存储了我的工作文件,但我没有收到奇怪的警告消息

提前谢谢

实际上有两种选择:

1) 定期从你的裸回购中提取实际的网站(例如,通过cron)

2) 从主回购协议中获取实际的网站(假设可以通过拉取进行访问,并且更改最终位于主回购协议(或类似协议)中,并且您从未向主回购协议提交尚未准备就绪的内容)


3) 推送完成后,使用裸回购中的挂钩在真实位置执行
git pull
。如果您这样做,请确保取消设置GIT_DIR环境变量,该变量最终将在钩子的环境中设置。

感谢您的回答,我使用了您的第一个建议,并做了一些修改,我在我的服务器上设置了一个repositories文件夹,在
public\u html
文件夹中,我只需手动拉取其中任何一个的主分支即可访问,