1

私はマスター ブランチ、もちろん :P と時間をかけて作成された複数のリリース ブランチを使用してプロジェクトに取り組んでいます。私が使用しているバージョン管理は Git であり、可能であれば、1 つのリリース ブランチで行われたバグ修正 (たとえば) を他のリリース ブランチに自動的に適用する方法を探していました。つまり..

--------------------------Master
|      |        |__v3
|      |__v2
|___v1
  |____bugfix

v1 で見つかったバグを修正し、v2 と v3 で同じ修正 (および修正のみ) を適用する必要がある場合、Git でこれを便利に行う方法はありますか?

私は Git を初めて使用しますが、コミットを Chery で選択して適用できるのではないかと考えていましたが、階層内でブランチを直接関連付ける必要があるかどうか疑問に思っていました。v1 の「バグ修正」から v2 および v3 にチェリー ピックまたはリベースすることは可能ですか? (またはv3からv2など)Afaik、リベースはすべてのコミットをリプレイするので、チェリーピックが探しているものだと思いますが、これを達成する方法がわかりません. 私が見た投稿は、子から親ブランチへのチェリーピックです。私がやろうとしていることは可能ですか?

乾杯。

4

1 に答える 1

6

バグ修正が単一のコミット、または一連のコミットである場合は、cherry pick を使用できます。

バグ修正は 1 つのコミットであり、sha は SHA1 です

git checkout v2
git cherry-pick SHA1

複数のコミットの場合は、バグ修正の最初のコミット SHA1 の前のコミット sha と、バグ修正 SHA2 の最後のコミット sha を見つけます。

git checkout v2
git cherry-pick SHA1..SHA2
于 2012-12-03T19:03:21.560 に答える