rails_appfoo/
とbar/
(正当な理由で別々に) の 2 つがあります。どちらもフォルダー内のいくつかのモデルなどに依存しており、現在はおよび とcommon/
並行しています。foo
bar
現在の svn セットアップではsvn:externals
、共有に使用されますcommon/
。今週末、私たちは git を試してみました。多くの調査の結果、これを解決するための「コーシャ」の方法は を使用しているようgit submodule
です。foo
、bar
、common
を別々のリポジトリに分離した後、それが機能するようになりましたが、すべての文字列が添付されていることに気付きました:
- 親をコミットする前に、必ずサブモジュールをコミットしてください。
- 親をプッシュする前に、必ずサブモジュールをプッシュしてください。
- コミットする前に、サブモジュールの HEAD がブランチを指していることを確認してください。(bash ユーザーの場合は、git-completion を使用して現在のブランチ名をプロンプトに入力することをお勧めします。)
- ブランチを切り替えたり、変更をプルしたりした後は、常に「git submodule update」を実行してください。
これらすべての落とし穴は、、、よりもさらに複雑add
にcommit
なりpush
ます。common
gitで共有するためのより簡単な方法を探しています。この男は拡張機能を使用して成功しているようですgit subtree
が、それは標準の git から逸脱しており、まだそれほど単純には見えません。
プロジェクト構造を考えると、これが私たちにできる最善のことですか? Rails プラグイン/エンジンについてはよくわかりませんが、ライブラリを共有する RoR っぽい方法のように思えます。
前もって感謝します。