私は現在、SVNを使用するsymfony1.4からGitを使用するSymfony2に移行しています。私はGitを初めて使用し、1週間から多くのドキュメントを読んでいますが、残念ながら、以前SVNで作業していたように作業する方法を見つけることができません。確かに、これら2つの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」や「」にファイルを追加すると、プロジェクトリポジトリにsf1.4で行ったように競合を発生させずにSf2ソースを含めることができません。プロジェクトをテストするか、sf2ソースを更新したい。
- バンドルに独自のリポジトリを持たせ、それらで作業し、ブランチを切り替え、プロジェクトを切り替えずにコミットしてプッシュ/プルし、バンドルソースを個別にコミットしてプッシュし、メインプロジェクトのサブモジュールを更新できるようにしたいと思います。
これを行うための最良のアプローチは何でしょうか?