2017-08-03 9 views
1

作業が完了したらブランチのマージ方法を少し混乱させます。コミットとマージの理解

私は以下を持つレポを作成しました。私は、問題/機能に従って各ブランチに基づいています。

Master 
Development 

branch-1 - jira issue 1 
branch-2 - jira issue 2 
branch-3 - jira issue 3 
branch-4 - jira issue 4 

問題1は開発ブランチから作成されました。私が最初のブランチで仕事を終えたら、ブランチ2を作りましたが、ブランチ1にいました。

git checkout -b branch-2 

私は支店2で作業を開始し、その問題を解決する必要がありました。

しかし、私はbranch-1に問題があります。 8つのコミットとブランチ2には15のコミットがあります。私はここにマージ競合があると思っています。だから、もし私が一度これらのブランチをマージしようとしたら、彼らは見直されました。どのように進めますか?ヘルプは素晴らしいでしょう。前もって感謝します。

+0

ブランチ2がブランチ1に基づいており、ブランチ1でそれ以上のコミットが行われていない場合、2つのブランチ間に競合はないはずです。 – GolfWolf

+0

つまり、ブランチ2がブランチ1よりも先にコミットされている場合、ブランチ1は基本的にブランチ2からの変更をベースにしていますか? – CrisA

+0

つまり、b2をb1にマージすると、早送りマージになります(b1はb2が指しているコミットだけに進みます)。 – GolfWolf

答えて

1

Gitは競合に非常にやさしいです。ちょっとした忍耐であなたはそれを理解するでしょう。

手順は、(BRANCH2で)このようなものです:(あなたがそれらを持っている場合)

git checkout branch1 
git merge branch2 

Gitはあなたの競合が表示されます。 紛争の例は次のようになります。

<<<<<<< HEAD 
this code is old 
======= 
this is my new code 
>>>>>>> branch1 

あなたはボット線の間に選択することができます。

紛争は非常に一般的であり、理解して修正することを学ぶべきです。

+0

ありがとう@VictorLopez – CrisA

関連する問題