2012-03-27 11 views
0

私は自分のリポジトリに3つの支店を設定しているにしたい: 特定のフォルダを他のブランチにマージしないでください。

  • 今後

    • マスター
    • は、進行中の開発が行われているところだろう「開発」

    を開発します。この開発ブランチでは、単体テストをしたいのですが、単体テストを他の2つのブランチから守りたいのです。ですから理想的には、開発ブランチ内の "tests"フォルダを決して他のブランチにマージする必要はありません。これは可能ですか?

  • +1

    あなたのテストをマスターコードの一部にしたくない理由はわかりません。 –

    +0

    別々のブランチに入れることはできますが、別のブランチにコードのコアを提供することはできます。 – Abizern

    答えて

    2

    テストを持つ別のブランチと、使いたいコードだけを持つプロダクションブランチを持つことで可能です。

    私はこのクラスを共有することができるCocoaクラスを使用していますが、クラスの使用方法を示すサンプルプロジェクトを共有することもできますが、それをサブモジュールとして使用します。

    トリックは、メインブランチのテストやサンプル、またはメインブランチとマージする開発ブランチのすべての作業を行うことです。そして私の場合、別のブランチを作成します(私はこれをproductionブランチと呼んでいます)。ここでは、すべての子会社コードに対してgit rmを実行します。

    ここで、このプロダクションブランチでは何も開発しないことです。メインブランチでのみ動作し、マスタブランチを本番ブランチにマージします。 Gitは補助コードが削除されたことを "記憶"しています。ちょっとしたことを除けば、使用する/分けたいコードしかないブランチが残っていますが、テスト/サンプルコードはまだリポジトリにあります他の誰かがそれを扱う気にしています。

    この例はGitHubのJCSSheetControllerクラスで見ることができます。

    +0

    ヒントをありがとう。 1つの質問が思い浮かぶ。私がリリースをしたら、テストがある "開発"ブランチで新しい機能の作業を開始します。それから私は生産ブランチ上の修正プログラムに必要なバグを持っています。プロダクションブランチを修正し、テストブランチに変更を戻すことはできますか?もしそうでなければ、どうやってこの状況に対処しますか? – TaylorOtwell

    +0

    本番ブランチまたは本番ブランチのブランチに変更を加えることはありません。マスターブランチから変更を加えます。これは、通常の開発とまったく同じです。ここでは、マスターから分岐を作成して修正プログラムを作成し、それをマスターに再びマージします。しかし、今ではマスターを本番ブランチにマージします。 – Abizern

    関連する問題