我正在尝试设置的结构如下:
/public_html
存储库(“live”)用户看到的内容,包含自定义
上传的文件(例如用户图库图片等,这些将被.gitignore忽略)
/stable
存储库包含项目的最新稳定源(减去被忽略的文件)
/public_html/dev
开发环境,只有我自己和其他开发人员才能编辑文件,直接在此文件夹中进行在线测试。
每当进行任何更改时,都会在/dev
存储库中完成更改,并将更改推送到/stable
,我想创建一个钩子来自动更新/public_html
存储库包含最新的稳定文件。
据我所知,git开发通常是在本地环境中克隆和完成的,但由于我们使用的软件的许可限制,并且需要非常具体的服务器设置,因此不能选择进行本地开发。因此,我们需要有一个中央开发区来测试变化。
我的问题如下:
push
到非基础存储库可能很麻烦。)答案 0 :(得分:1)
/stable
应该是一个裸存储库。
/public_html
根本不应该是存储库 - 相反,您应该在钩子中使用git archive
or similar将文件从/stable
存储库导出到{{1} }。
理想情况下,我建议不要将/public_html
存储库放在dev
中 - 它应该在自己的单独文档根目录中更好,这样你就不会;遇到路径碰撞等潜在问题。