3

プロジェクトでブランチを管理する方法がわかりません。私は、「dev」から分岐した機能ブランチ「loads」に取り組んできました。分岐以来、「dev」はいくつかのコミットによって前進しました。現在、別の開発者が最新の「dev」コミットから新しい機能ブランチ「work」を開始しました。問題は、「仕事」の機能が「負荷」の機能に依存することです。「loads」のこの機能は完了していますが、「loads」ブランチ全体は「完了」していません。

基本的に、私がやりたいことは、「負荷」ブランチの寿命を終わらせることなく、「負荷」の最新の変更を「作業」で利用できるようにすることです。

現時点でのツリーの外観は次のとおりです。

       (loads:A) -> (loads:B)
      /
(dev:A) -> (dev:B) -> (dev:C)
                            \
                             (work:A)

これが私がする必要があると思うことです

       (loads:A)  ->  (loads:B)  -> (loads:C) //continue work on "loads"
      /                         \
(dev:A) -> (dev:B) -> (dev:C) -> (dev:D)
                            \            \
                             (work:A) -> (work:B) //use "loads" features in "work"

マージの正確な順序と、これを達成するための方法が少しわかりません。前回ブランチをマージしようとしたとき、私は物事をめちゃくちゃにし、元に戻すのに丸一日を費やしました。本当に二度とやりたくありません。

4

1 に答える 1

1
git checkout loads
//after making code changes
git commit -am "latest changes on loads"


//This will replay your current changes on top of the existing dev
git rebase origin/dev

//Possible merge conflicts might have to address them

//after resolving conflicts
git push origin dev

他の開発者は、すでに作業中に変更を加えて dev に対してリベースしている場合は変更をコミットできます。または、変更を dev からプルして新しい機能ブランチを作成し、それ以降続行することもできます。

于 2013-03-05T18:15:01.737 に答える