Git:如何使用Git管理网站?如何使用Git进行网站部署?

时间:2012-07-06 10:53:35

标签: git apache document-root

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

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

  

DocumentRoot -problem

     
    

DocumentRoots在httpd.conf中为hostable材料指定dirs。     现在在这样的文件夹中,我想要ticgit -branches和feature -branches。     当我在一些DocumentRoot中创建分支时,我得到了主人和     其他分支混淆了。 $ git checkout --orphan feature-0.01不是     空但包含主人。 $ ti new ...创建了一个分支     有来自大师的东西,显然是Ticgit中的一些错误(它有效     在小回购,但创建ticgit -branch为更大的回购像我     DocumentRoot导致严重破坏)。那么如何在Apache的DocumentRoot中维护你的分支?你有票吗?     你的功能怎么样 - 分支?看起来我很困惑,$ git checkout feature-0.1现在apache如何知道它是哪个文件     应该主持? feature-0.1中的主事或事物?

  
     

我对DocumentRoot -problem的更新理解

     
    

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

  

1 个答案:

答案 0 :(得分:2)

  

错误!

不要在部署内部开发-dir(通常是Apache中的www)。在其他地方开发并使用SethRobertson指南here中概述的副作用和正确的版本控制良好规则,特别是有关版本1.0和标记的部署分支的规则,以便您保持事情随时间发展的时间表。他说下面的活动可能会导致开发和部署混乱,对用户来说可能也不是好事(他们可能不希望在浏览时看到您对网站的编辑)。

SethRobertson的指南指出DO-NOT不会搞乱部署和开发

  

使用git作为Web部署工具

     

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

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