12

最近gitflowを使い始めたばかりですが、よくわからないことがあります。まず、開発に関して直接何もしません。何かをする場合は、ホットフィックスまたは機能の開始を使用します。

新しい機能(「sequentialUpgrades」)を開始したとき、プラグインはバージョン1.1.5でした。それは4日前でした。過去4日間で、この新機能を完了していませんが、2つの修正プログラムを完了したので、それらをマスターにマージし、完了時に開発しました。もちろん、これらのブランチの両方で、修正プログラムを含む最新の変更があります。バージョン1.1.7で...私が実行した場合git diff master develop、違いはありません。

機能ブランチに戻ってこの新機能の開発を続けたところ、機能ブランチはまだ1.1.5に戻っているため、最新の2つの修正プログラムはありません。

だから私は2つの質問があります:

  1. 何かを台無しにすることなく、最新の変更を機能ブランチに取り込む方法があるとしたらどうでしょうか。

開発を機能ブランチにマージすることを考えていましたが、それが正しい方法ではないと思います。しかし、私は本当に、この新機能の開発中にこれらの最後の2つの修正が存在する必要があることをスクラッチしたいと思います。

  1. これができない場合、機能を終了したときに、競合することなく、どのように統合して開発に戻すことができますか?これに頭を包むことはできません。

この機能を1.1.5から始めたからです。機能ブランチで、ファイルaccess-level.phpに大幅な変更を加えました。修正プログラムを実行したときに、同じファイルの5〜6行を変更しました。いくつかの重要な変更が加えられた1.1.5に戻ったファイルを、それ以降も変更が加えられた1.1.7の同じファイルにマージするにはどうすればよいですか?

4

1 に答える 1

16

開発を機能ブランチにマージして最新の状態に保つことには何の問題もありません。gitはマージに非常に優れていますが、両方のブランチがファイルの同じ部分に触れた場合は、おそらくいくつかの競合を手動で解決する必要があります。競合を解決するためにグラフィカルなマージツールを使用することを好みます。たとえば、このガイドを設定するためのヒントを参照してください。

于 2012-04-28T12:52:25.343 に答える