将GIT与Joomla一起使用

时间:2010-06-08 01:39:52

标签: git project-management joomla

我们是一家网页设计公司,正在建立一个修订管理系统,以及我们将如何使用它的所有流程等。我们正在考虑使用git版本管理系统

我们主要在Joomla!内容管理系统(CMS)上开发我们的网站。我想知道其他公司在处理CMS时如何管理他们的存储库。我们主要处理模板构建,偶尔也会定制我们安装的组件或插件。

我的主要问题是:

  • 是存储存储库中所有文件(包括Joomla文件)的最佳方式,还是只是自己创建或更改的文件?
  • 您是否在某处保留了数据库的副本(Joomla用于其操作和内容存储)以计算数据库更改?

5 个答案:

答案 0 :(得分:9)

我知道这个问题已经得到了一个可接受的答案,但也许有人会回到这个问题并发现它很有用。

  • 我认为跟踪整个joomla并尝试排除核心文件几乎是不可能的,因为@vicgilbcn说它可能成为一场噩梦。
  • 另一方面,如果您正在为J开发组件!哪个'不幸'在组件/ com_mycomp',' administrator / components / com_mycomp'可能' media / com_mycomp'你应该有3个单独的git repos来跟踪它 - 所以这也不可行。

所以我提出并且似乎工作得很好,是这样的: 让我们说我有一个正常的J!使用我的com_mycomp组件进行部署。

  • 我在joomla代码库之外创建一个文件夹并将其命名为#34; COMMON"。
  • in" COMMON"我创造了一个" joomla"夹
  • in" COMMON / joomla"我创建" myComp"将保存我的组件的整个代码库的文件夹
  • in" COMMON / joomla / myComp"我使用Joomla文件夹结构,我 MOVE (不是复制)' components / com_mycomp',' administrator / components / com_mycomp'和' media / com_mycomp'在里面。
  • 然后我回到我删除文件夹的位置,并为新位置创建符号链接

这样一来,现在可以在COMMON / joomla / myComp中创建一个git存储库。

显然,这个环境应该是一个本地开发环境,您可以在其中调整apache / php配置,而不会产生任何安全隐患,从而使其工作。 (我不记得我是否真的必须对此进行任何特殊的配置修改 - 如果它没有检查日志......)

事实上,这个解决方案确实解决了另一个问题。通过这种方式,您可以实际将组件的代码库文件夹符号链接到两个不同的Joomla部署(例如J!2.5.x和J3.xx),并能够立即开发/检查您的组件兼容性不同的版本。

答案 1 :(得分:5)

Joe LeBlanc的这篇文章是我在Joomla中发现的有关修订控制的几件事之一!:http://joomlaablog.blogspot.it/2010/11/how-to-track-your-joomla-project-with.html

  

您可以使用两种通用策略来使用Git   Joomla:跟踪整个Joomla安装或跟踪a   具体延伸。追踪Joomla本身的主要威慑力   Git是Joomla代码库的绝对大小。虽然Git是合理的   快速,跟踪整个Joomla安装仍然有点过分   如果您要添加单个模板或模块。

     

另一方面,将所有内容都放入Git可以实现   确定何时将补丁应用于Joomla站点。这可以   当您尝试将问题跟踪到特定补丁时很有帮助。   此外,如果您要创建一些全部设计的扩展程序   要一起工作,你可能别无选择,只能放置整个网站   在版本控制下。

     

如果您正在处理单个扩展程序,并且您知道它是唯一的扩展程序   这将成为项目的一部分,跟踪可能更有利   一个目录。 仅限前端组件,仅限后端   组件,模块或模板都是被跟踪的候选者   与Joomla安装分开。跟踪插件很困难   这样,由于插入.php文件的事实   在共享文件夹中并排。以这种方式跟踪完整组件   也是有问题的,因为后端的变化会影响行为   前端。

答案 2 :(得分:4)

对于您的第一个问题,通常大多数组都会检入与项目相关的所有文件(不包括日志和临时文件)。如果您确实要存储数据库,请存储数据库的转储(而不是二进制文件)。您应该确保包含数据和架构。

答案 3 :(得分:2)

如果您决定使用第一个选项(跟踪整个joomla),则必须.gitignore所有核心以及每次添加外部扩展。当有人安装扩展并提交时,这是一场噩梦。然后你必须在拉动后发现它,有时它不起作用。此外,Joomla版本的更改很难管理。

我提倡将不同的存储库扩展到不同的扩展,但我仍然在寻找一种方法来为整个组件(admin + front + install)创建一个repo。任何想法(或许是子模块或子树)?

答案 4 :(得分:1)

我们处于类似情况 - 设计机构与Joomla网站。

我们使用Subversion,每个网站都作为存储库。当我们开始一个项目时,我们下载最新版本的Joomla并将其放在SVN中。然后我们将SVN的站点检出到本地机器并进行处理,并在需要时进行检查。