我知道这个问题已经有了一个被接受的答案,但也许有人会回来并发现它有用。
所以我想出来的解决方法似乎相当好用,就是这样:
假设我有一个普通的 J! 部署,其中包含我的 com_mycomp 组件。这样,我现在可以在 COMMON/joomla/myComp 中创建一个 git 存储库。
显然,这个环境应该是一个本地开发环境,在这里您可以调整 apache/php 配置,没有安全问题,使其工作。(我不记得我是否实际上需要做任何特殊的配置修改才能让这个工作 - 如果它不起作用,请检查日志...)
事实上,这个解决方案确实解决了另一个问题。以这种方式工作,您实际上可以将您的组件代码库文件夹的符号链接链接到两个不同的 Joomla 部署(例如 J!2.5.x 和 J3.x.x),并能够立即针对不同版本测试您的组件兼容性。
另一方面,将所有内容都放入Git可以确定何时向Joomla站点应用了补丁。当您试图将问题追溯到特定补丁时,这可能会有所帮助。此外,如果您正在创建多个旨在共同工作的扩展,那么可能别无选择,只能将整个站点放入版本控制。
如果您正在开发单个扩展并且知道它是项目中唯一的扩展,那么跟踪单个目录可能更有优势。单个仅前端组件、后端组件、模块或模板都可以作为与Joomla安装分开跟踪的候选项。由于插件.php文件是放置在共享文件夹中的,因此以这种方式跟踪插件很困难。以这种方式跟踪完整组件也存在问题,因为后端的更改可能会影响前端的行为。
对于你的第一个问题,通常大多数团队会将与项目相关的所有文件(不包括日志和临时文件)都进行检入。如果您确实想要存储数据库,请存储数据库的转储(而不是二进制文件)。您应该确保包括数据和模式。
我们和你们处于类似的情况 - 设计机构拥有Joomla网站。
我们使用Subversion,每个网站作为一个代码库。当我们开始一个项目时,我们下载最新版本的Joomla并将其放入SVN中。然后我们从SVN检出网站到本地机器上进行工作,并在需要时进行提交。