私はマスターブランチとフィーチャーブランチを持っています。フィーチャーブランチにはいくつかの変更点がありますが、マスターブランチにはリポジトリーから10個のプロジェクトを削除するなど、多くの変更点があります。問題は、機能ブランチをマスターブランチにマージする方法です。マージの実行方法は?
1)マスタと機能をマージした後、master
ために同じ状態で
OR
2)機能とマスターマージ機能と直接
私はマスターブランチとフィーチャーブランチを持っています。フィーチャーブランチにはいくつかの変更点がありますが、マスターブランチにはリポジトリーから10個のプロジェクトを削除するなど、多くの変更点があります。問題は、機能ブランチをマスターブランチにマージする方法です。マージの実行方法は?
1)マスタと機能をマージした後、master
ために同じ状態で
OR
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です。これは、機能ブランチ上に機能を構築して、開発の最終テストを行うためです。そして、これまでマスターに合併しただけです。マスターのコミットはありません。
両方結果を習得。そのfeature
ブランチは、最初のケースではmaster
と同じ状態になり、2番目のケースでは影響を受けません。
どちらを実行するかを尋ねる場合は、最初に行うことをお勧めします。マージ後のバグがマスターに影響を与えないように、マスターを「最初に」フィーチャーにマージする必要があります。 master
はきれいに保ちます。これにより、マスターにmerge conflicts
が存在しないことが保証されます。
これは私の一般的な方法です。masterを任意の機能ブランチにマージし、すべて正常に動作することを確認します。何かが壊れている場合は、修正してください。その後、最新のマスターを再度マージします。併合された枝が良いように見えた後でなければ、これはマスターに置かれます。
私はマージをバックしないでください(フィーチャーチェックアウトして)マスター
の上に早送り、その後、マスターの上に
git rebase master
をフィーチャーした特徴をリベースでしょう。統合ブランチに統合します。リリース候補ブランチで完了したブランチをテストします。リリース候補をリリースするときにのみマージするようにしてください。デプロイされたリリース候補をマージします。ここでは、この上の
より:
https://plus.google.com/109096274754593704906/posts/R4qkeyRadLR
UPDATE
私はここで、これを書き直し:
このワークフローは、私が提供したリンクで改善されています。キーは、各機能が同じ場所で開始されることです。いくつかのステップははるかに明示的であり、rerereの役割はうまく定義されています。 –
こんにちはブライアン。これらのコマンドは実際にオプション1)質問からですか? – mynkow
はい、mynkow私は彼らが別の方法で同じ効果を達成すると思います。 –