有点笼统的“您认为最好的解决方案是什么”的问题,但我读了又读,但我似乎没有找到所有问题的所有答案。
我在一家小型网络机构工作,有 3 名开发人员(2 名现场 1 名异地),我们仍在使用 FTP(style-1.css、style-2.css)在预览 url 在线托管的网站上工作,我们然后下载完成的作品并将其重新上传到它的实时网址。这是相当古老的学校,按照我所知道的今天的标准是完全错误的,所以我开始研究 Git。我也希望能够使用它来管理部署。
我希望能够做到的是:
- 开发人员在本地工作
- 开发人员在服务器上推送预览/暂存(可公开访问)
- 客户同意
- Dev 将预览推送到 live/dev 告诉 live 从预览中 pull 出
我想知道的是:
- 我可以在服务器上设置远程存储库来保存我们正在处理的所有文件,这样我们就可以指向这些文件的 url 以用作预览/暂存站点吗? (即为什么我读到这应该是一个裸仓库?)
- 在这种情况下设置“实时”网站的最佳方式是什么?有人可以解释一下我如何设置一个命令(一个钩子(Hook)吗?),以便在我们认为它稳定时从预览站点 pull 入实时站点?
我已经尝试阅读工作流程,但我还没有找到如何在实时公开(客户端)可访问的工作流程中使用它
提前致谢!
编辑
我收到了使用 GitHub 的建议,我宁愿不为此使用它,因为我们有自己的专用服务器,我不介意花时间学习和正确设置它。 (我将使用 GitHub 进行个人工作,所以我不会将其作为一项服务)
标题包含 Gitolite,因为我原本打算询问如何使用 gitolite 进行设置,但在编写过程中我认为我已经掌握了基本知识,因此将其编辑掉,一定是忘记将其从标题。如果有人对此有任何建议,包括 gitolite,我愿意试一试。
感谢目前为止的建议
最佳答案
注意:
- 您根本不必使用 gitolite:the article 中描述的接收后 Hook Simon mentions评论中的内容可以应用于您要推送到的任何裸仓库。
如果你想通过授权保护那些推送,你只需要 gitolite(因为 Gitolite 是一个授权层) - 你可以有一个更简单的钩子(Hook)来根据你推送的分支做不同的事情。例如参见“Writing a git post-receive hook to deal with a specific branch”
- 您可以从在裸 repo 中完成的提交中提取任何 repo :请参阅“Setting up post-receive hook for bare repo”。
关于git - 我应该如何使用预览/暂存站点以及生产/实时站点设置 git(+ gitolite?)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14505060/