2012-02-01 15 views
2

私はマスターブランチとフィーチャーブランチを持っています。フィーチャーブランチにはいくつかの変更点がありますが、マスターブランチにはリポジトリーから10個のプロジェクトを削除するなど、多くの変更点があります。問題は、機能ブランチをマスターブランチにマージする方法です。マージの実行方法は?

1)マスタと機能をマージした後、masterために同じ状態で

OR

2)機能とマスターマージ機能と直接

答えて

2
checkout master 
checkout -b develop (assuming you don't already have a develop branch) 
merge --no-ff your-feature-branch 

レゾールをコードの競合 テスト、テストテスト。

checkout master 
merge --no-ff develop 

コードを展開します。

私はreally like this branching modelです。これは、機能ブランチ上に機能を構築して、開発の最終テストを行うためです。そして、これまでマスターに合併しただけです。マスターのコミットはありません。

+0

このワークフローは、私が提供したリンクで改善されています。キーは、各機能が同じ場所で開始されることです。いくつかのステップははるかに明示的であり、rerereの役割はうまく定義されています。 –

+0

こんにちはブライアン。これらのコマンドは実際にオプション1)質問からですか? – mynkow

+0

はい、mynkow私は彼らが別の方法で同じ効果を達成すると思います。 –

-1

両方結果を習得。そのfeatureブランチは、最初のケースではmasterと同じ状態になり、2番目のケースでは影響を受けません。

どちらを実行するかを尋ねる場合は、最初に行うことをお勧めします。マージ後のバグがマスターに影響を与えないように、マスターを「最初に」フィーチャーにマージする必要があります。 masterはきれいに保ちます。これにより、マスターにmerge conflictsが存在しないことが保証されます。

これは私の一般的な方法です。masterを任意の機能ブランチにマージし、すべて正常に動作することを確認します。何かが壊れている場合は、修正してください。その後、最新のマスターを再度マージします。併合された枝が良いように見えた後でなければ、これはマスターに置かれます。

-1

私はマージをバックしないでください(フィーチャーチェックアウトして)マスター

の上に早送り、その後、マスターの上に

git rebase master 
1

をフィーチャーした特徴をリベースでしょう。統合ブランチに統合します。リリース候補ブランチで完了したブランチをテストします。リリース候補をリリースするときにのみマージするようにしてください。デプロイされたリリース候補をマージします。ここでは、この上の

より:

https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR

UPDATE

私はここで、これを書き直し:

http://dymitruk.com/blog/2012/02/05/branch-per-feature/

+0

よく、私たちは全体の画像に対して異なるアプローチをしています。私はちょうどマスターに1ブランチをマージする方法を尋ねた。私はブライアンに同じことを言うことができます。私はあなたが提案した分岐モデルが本当に好きですが、私はそれを適用することができません。 – mynkow

+0

なぜあなたはそれを適用できませんか? –

+0

会社の多くの人がそれについて混乱します。私は今すぐそこに押し込むつもりはありません。だから、あなたは私にアドバイス1)または2)を教えてもらえますか?よろしくお願いします – mynkow

関連する問題