1

最初,我以为我的问题是,How to maintain branches in Apache's DocumentRoots?但意识到正确的问题实际上是How to use Git to deploy stuff to web -server such as Apache?

我觉得我现在已经理解 DocumentRoot -问题,它需要我想要避免的 Apache 黑客攻击,因为使用副作用和将 repo 放在部署 -dir 之外的更简单的解决方案,但现在理解 git-fetch-hook 和如果外部的东西是一个大的目录,如何部署东西,也许只是 cp 除了然后是 mv - 但必须有一些更好的同步部署 -dir 的方法,思考。

DocumentRoot 问题

DocumentRoots 在 httpd.conf 中为可托管材料指定目录。现在在这样的文件夹中,我想要 ticgit -branches 和 feature -branches。当我在某个 DocumentRoot 中创建分支时,我将 master 和另一个分支混淆了。$ git checkout --orphan feature-0.01不为空,但包含 master -things。$ ti new ...创建一个包含来自 master 的东西的分支,显然是 Ticgit 中的一些错误(它在小型存储库中工作,但为较大的存储库创建 ticgit -branch,例如我的 DocumentRoot 导致严重破坏)。那么如何在 Apache 的 DocumentRoot 中维护您的分支?你那里有门票吗?你的功能分支呢?看我对此感到困惑,$ git checkout feature-0.1现在apache如何知道它应该托管哪些文件?主人里面的东西还是里面的东西feature-0.1

我对 DocumentRoot 问题的最新理解

现在后者的问题是部署并不意味着像这样工作。我知道 SethRobertson 的指南介绍了一些使用 git 进行部署的方法。我认为它们是迄今为止最好的方法,而不是在部署 -dir(通常是 www)中使用 git -repo 来破解 Apache。

4

1 回答 1

2

错误的!

不要在你的部署 -dir 中开发(在 Apache 中通常是 www)。在其他地方开发并使用此处的 SethRobertson 指南中概述的副作用和适当的版本控制良好规则,特别是关于版本 1.0 和标记的部署分支的规则,以便您维护随着时间的推移事情如何发展的时间表。他在下面声明了一个不要搞乱开发和部署的活动,这对您的用户来说也可能不是一件好事(他们可能不想在浏览时看到您对网站的编辑)。

SethRobertson 的指南指出不要搞乱部署和开发

使用 git 作为 web 部署工具

是的,它可以在一个足够简单/非关键的环境中完成,例如 Abhijit Menon-Sen 关于使用 git 管理网站的文档以提供帮助,尽管还有其他示例。但是,这不会为您提供原子更新、同步数据库更新或工业部署系统的其他配件。

所以Using Git to manage a web site-tutorial here, e​​xample herehere - 但请注意他的警告"however, this does not give you atomic updates, synchronized db--"

于 2012-07-07T02:48:12.473 回答