2017-11-03 3 views
0

をコミットした後、ホットフィックス "ブランチはもちろん修正プログラムであり、後で目的でマスターから追跡する必要があります。gitのマージマスターへ/チェリーピック特定のマスターブランチは、常に「</p> <p>変更している間に、私は特定の「位置」に「マスター」へのブランチ「の修正プログラム」からのマージに苦しんまたはコミットしています

これはどのようにして入力しますか?

A - B - C - D/master 
    | 
    \ 
     \_ hotfix containing commits E - F - G 

"マスター" ブランチは

A - B - E - F - G - C - D/master 

競合をマージ避けることによって、これを達成するためのチャンスがあるのになるでしょうか?

PS:目標は、別のブランチを持たないことです。 "hotfixes/hotfix-123"と入力します。

+1

になります

git checkout master git rebase hotfix/foo 

所望の歴史を得ることができます'-F'-G'' しかし、 'D'と' G'の間に「どこかで」競合がある場合は、それらを解決する必要があります。並べ替え( 'C-D'の前に' E-F-G'を置く)は問題を解決しません。 – kolejnik

+1

[GITの履歴を書き換えることの実際の結果は?](https://stackoverflow.com/a/1491022/211627) – JDB

+0

@JDBはよく指摘されており、既に承知しています –

答えて

2

編集:、1.0

最初のバージョンに修正プログラムをマージするのは、あなたのオリジナルの絵を言い換えてみましょう:

ゴールタギング勧告を追加します。更新は 編集2以下のコメントで与えられた追加の情報を一致させます。

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

私はバージョン1

git checkout -b release/v1 <B's commit SHA> 

を追跡し、実際に出荷されたものをマークするタグを作成するためにブランチを作成することはお勧めしたい、これは歴史が現在

 C---D // master (2.0) 
    /
A---B // current version 1.0 
    \ 
     E---F---G // hotfix 

をどのように見えるかであると仮定すると、

git tag v1.0.0 

次に、この新しいブランチ

git merge hotfix 

に修正プログラムをマージし、新しいバージョンをマークするタグを作成して、それが必要なの今までどこにそれを解放

git tag v1.0.1 

あなたの歴史は今、この

のようになります。
 C---D // master (2.0) 
    /
A---B // tag v1.0.0 
    \ 
     E---F---G // branch release/v1 and tag v1.0.1 

最後に、バージョン2.0での修正プログラムの変更は必要ありませんが、実行する場合は次のようになります。

git checkout master 
git merge hotfix 

オリジナル答え

それはマスターにhotfixブランチを「マージ」とあなたが望むように見て歴史を取得することはできません。ただし、マスターブランチを書き直す場合は可能です。 警告:これにより、他の誰かがmasterブランチから作業しているときに大きな苦痛があり、should be avoidedが発生します。

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

を考えると

あなたは、これは `あなたは` ABCD-Eの結果を得ることができrebase`にgitを使用して

A---B---E---F---G---C'---D' // master 
    \ 
     C---D // original master 
+0

'hotfix/foo'に' foo'とは何ですか? ? – Arkadiy

+0

なぜ私はそれが必要なのですか?マスターのHEADはすでにバージョン2.0であり、大きな変更が加えられています。修正プログラムはいくつかのファイルが完全に異なるバージョン1.0用です。 –

+0

OPへの注 - 元の修正プログラムのブランチはまだありますが、その中のすべてのコミットは新しいマスターの一部になりました。 – Arkadiy

関連する問題