2017-02-17 10 views
2

私はgitflowワークフローを使用しています。 masterから、hotfixブランチを作成して修正しました。 masterにマージする前に、最初にdevelopにマージして、ステージングの変更を確認してからマスターにマージすると考えました。マージの前にコミットからブランチを作成するには?

は私がhotfixブランチ(私にはい、恥)に発展マージすることで解決競合を持っていたし、私はまだ不安定なものを持っているが、開発として、私は、masterにそれをマージすることはできません実現develop修正をマージと述べました。

マージ前のコミットからブランチを作成するにはどうすればよいですか?

PS:git merge developを使用してマージしました(no-ffフラグを使用していません)。あなたはCに今ある、バックmasterFで表さコミットマージしたい

A - B - C  <- master 
\ \ 
    \ \- F - G <- hotfix 
    \  /
    \-D - E  <- dev 

+0

ブランチが必要ですか、そのコミットをマスターにマージするだけですか? –

+0

私たちのリポジトリルールはマスタに直接プッシュされないので、ブランチは常にPRです。 –

答えて

2

私はあなたの構造は次のようになりますことを想定しています。あなたが要求として

あなたは、これを実行するために別のブランチを作成することができます。この場合hotfix^

git checkout hotfix^ -b unmerged-hotfix 

hotfixの現在の先端の前にコミットしています。新しい支店はunmerged-hotfixとなります。

あなただけの新しいブランチをすることなく、マスターに直接マージしたい一方で、あなたはマスターにhotfixの先端前にコミットマージします

git checkout master 
git merge hotfix^ 

これを行うことができます。

+0

優秀な説明。私の場合、私は常に新しいPRを開くために、私たちはマスター(レポルール)に追い込むことができないので、新しい支店を望んでいました。さて、 'develop'をマージした後、' H'と 'I'が' hotfix'をコミットしたとしましょう。どのように私は同じ結果を達成するだろうが、** 'H'と' I'は 'master'で**? (基本的に、マージ以外のすべてのコミット: 'F'、' H'、 'I';' G') –

+0

@ChristopherFrancisco。私はインタラクティブ・リベースやチェリー・ピックをやります。これはあなたの現在の質問の範囲外です。だから私は先に進み、別の質問をします。 PRが必要な場合は、基本的にここで説明したように 'F'から分岐し、次に' H'と 'I'をチェリーピックまたはリベースします。 –

+0

@ChristopherFranciscoまた、あなたがしたいことの詳細な説明の一部として拡張質問の投稿を編集することができます。それに応じて回答を拡大します。あなたが持っている質問を考えれば、それはそれが広すぎるか何かになるとは思わない。 –

関連する問題