2016-06-22 2 views
1

私は1つのプロジェクトに取り組んでいます。顧客は、アプリケーションの種類が4種類(それ以上)である必要があります。これらのアプリケーションはわずか100行のコード(ボタン数)で異なり、これらの行は決して変更されません。残りのアプリケーションは同じになります。gitの異なるブランチにコアコードを取得するには

私は、masterブランチで作業し、他の4本の枝にこれらの変更をプッシュします。私はチェリーピックを使用したくない(誰かがチェリーピックを忘れると、これらのブランチにコミットするごとに)。

私はgitのは本当に新しいですし、私はこれを把握しようとしています。

私が見つけた最良のオプションは、4つのブランチを作成し、コードを変更することです。 masterブランチで正常に動作し、新しいバージョン時間のリリースが来るとき、私はmasterブランチをこれらの4つのブランチにマージし、望みの結果を得ます(シンプルなシェルスクリプトはこれをうまくやるでしょう)。

私は他の人の意見を聞きたいと思います。私が言ったように、私は本当にgitのために新しいです、そして、私は最高の解決策を見つけたとは思わない。

答えて

0

支店がそれを行う方法です。
ベースラインと同じコードを使用し、ブランチを使用すると、あなたの人生を容易に維持できます。

サブツリーを使用することもできます。あなたは単一のリポジトリを持つことができますが、ブランチを使用する代わりに、更新されたファイルをサブツリー/サブモジュールで管理することができます。

subtree/submoduleは、あなたが持っている必要があり、すべての変更が含まれます。ここで


サブモジュールonhow ageneralスキーマは次のようになりますです:

enter image description here


そしてサブツリー内の同じ概念(画像は何が必要exaclyしteされていないが、あなたが得ることができます異なるブランチに異なるコンテンツを持つという一般的な考え方)。

+0

大規模なコアはサブツリーとsumbodulesで処理できることに同意します。今のところ、私は1つのファイルの違いを扱っています。私はサブツリーとサブモジュールで作業したことがありません。私のソリューションよりも管理が簡単だと思いますか?私はサブツリーで、1つのブランチにすべてのバージョン(タイプ)をサブディレクトリとして持つことができ、ブランチとしてそれを持つことができます。 –

+0

厳密には、依存関係マネージャの一種としてサブツリーを見ることができます。実際の依存関係ではなく単純なファイル内容です。 – CodeWizard

+0

サブツリーを使った最終的な外観はすばらしく見えます。しかし、それは単純な支店よりも扱いにくいです。すべての点で私はブランチを作成しなければなりません。新しいブランチからサブツリーを作成する必要があります(私はそれを行うことができます - サブツリーはレポだけで作ることができます)。私は今のところ私の解決策に固執し、私がgitに慣れると、私はサブツリーを試みます。私はマスターブランチですべてのバージョン(タイプ)を利用できるというアイデアが気に入っていますが、私にとってはちょっと残酷に思えます(そして、今は失敗することはありません - 最初のリリースは1ヶ月です:-))。ありがとうございました –

関連する問題