我目前正在从使用 SVN 的 symfony 1.4 迁移到使用 Git 的 Symfony2。我是 Git 的新手,一周以来已经阅读了很多文档,但不幸的是,我无法像以前使用 SVN 那样找到工作方法。事实上,我明白这两个 SCM 之间的方法是不同的。
让我们解释一下我是如何使用 sf1.4 和 SVN 的。我的存储库结构是这样的:
root /* Main repository */
branches
tags
trunk
apps
backend
frontend
cache
[...]
lib
[...]
vendor
symfony /* SVN external to symfony sources */
log
plugins
sfThemePlugin /* SVN external to sfThemePlugin */
xxMyPlugin /* SVN external to a plugin repository I develop */
test
web
通过这种方式,我能够:
- 使用供应商、插件和我自己的插件在我最喜欢的 IDE 中加载整个项目
- 能够从各自的存储库更新 symfony、插件和其他供应商
- 使用我自己的插件并在不切换项目的情况下提交它们
现在我想对 Symfony2 项目和 Git 做同样的事情。问题是:
- Sf2 Git 存储库在其根目录中包含一个 'src' 和一个 'test' 文件夹,因此如果我在 'src' 和/或 '测试'到我的项目或想要更新 sf2 源。
- 我希望我的捆绑包拥有自己的存储库,并且能够在它们上工作、切换分支、提交和推送/拉取,而无需切换项目、独立提交和推送捆绑包源,然后更新我的主要项目子模块。
这样做的最佳方法是什么?