如何使用git最好地管理TYPO3安装?

时间:2012-08-10 16:04:36

标签: git content-management-system typo3 web-deployment

您好我已经有意义暂时解决这个问题,但是我想使用git来维护一些typo3开发网站。我做了一些挖掘,关于这个问题的最丰富的(chromium translated site)信息不清楚,但确实让我思考。我想知道如何设置一个git托管仓库,如果有一些/其他文件夹,我应该在设置回购时忽略,我应该警惕,最佳做法等等。我已经决定每个版本,数据库转储将单独完成,与里程碑相对应,因为截至目前我不知道如何处理CMS版本控制的这一方面。

2 个答案:

答案 0 :(得分:18)

典型的.gitignore

/fileadmin/user_upload/
/fileadmin/_temp_/

/uploads/

/typo3conf/temp_CACHED*
/typo3conf/temp_fieldInfo.php
/typo3conf/localconf_local.php

/typo3/
/t3lib/
/typo3temp/

请注意,将TYPO3git一起使用时,您不应使用Extension Manager在遥控器上安装任何扩展程序!

而是在本地导入ext,在本地安装它,然后提交并推送ext文件并将localconf.php修改为远程服务器。

localconf.php包含localconf_local.php(已忽略)

的末尾
@include('localconf_local.php');

它将允许覆盖ie。数据库或自定义ImageMagick路径的凭据,而不更改原始localconf.php。当然,团队中的每个开发人员都将自己的值写入localconf_local.php

.gitignore中忽略的典型TYPO3文件夹应在每个实例上手动创建,即

typo3temp

fileadmin/user_upload

当然你还需要下载TYPO3 sorces(typo3t3lib个文件夹) - 没有更大的意义让它们处于版本控制之下。

其他内容,例如uploads应该从远程手动下载,因此最好编写一个包装它的脚本,每个开发人员都可以通过一些链接下载它。你不能将它添加到git repo,因为这些文件只是在创建内容元素时创建的,所以如果你不会忽略它们,你很快就会面临巨大的合并冲突。

答案 1 :(得分:10)

我想在biesiors中添加一些非常好的答案:根据我的经验,最好的策略是将fileadmin/typo3conf/置于版本控制之下,而不是其他任何内容。如果您使用扩展,则仅使用TER存储库中的最新版本。扩展配置(typoscript设置,locallang值)将放在fileadmin /中的外部文件中。示例文件夹结构:

fileadmin/
- css/
- images/
- javascript/
- scripts/
- templates/
- - html/
- - templavoila/
- - typoscript/
- - xml/

不要在数据库中存储任何typoscript信息 - 它不能从那里进行版本控制。

.gitignore放在需要的位置。我们也会忽略typo3conf/ext/typo3conf/l10n/。为什么?如果我们编写自己的扩展(或修改现有的扩展),我们将typo3conf/ext/my_extensionname/添加到另一个存储库。这样,扩展本身可以很好地维护,特别是如果在多个项目中使用。并且不需要对未更改的扩展进行版本控制。

遵循@include('localconf_local.php');建议 - 这是一种很好的做法。

此设置对编码规则提出了更高的要求,但您将获得奖励!我们已经成功地为这样的团队工作了12个以上的项目。