2017-03-20 7 views
2

をマージケースます beta_001を現在までマスターに更新するには、masterにプッシュされたコミットもcherry_peterをbeta_001にします。 beta_001がマスターに合併される日まで、すべてのことはうまくいった。私は、これは違いが1つの変更が原因チェリーピックにidをコミットする場合であるので、どのように推測Gitのチェリーピックは、現在、私は2本の枝を持って競合

++<<<<<<< HEAD 
+  <permission 
+   android:name="com.xxx.permission.REDIRECT_MESSAGE" 
+   android:protectionLevel="normal"/> 
+  <permission 
++======= 
+ <permission 
+  android:name="com.xxx.permission.REDIRECT_MESSAGE" 
+  android:protectionLevel="normal"/> 
+ <permission 
++>>>>>>> origen/beta_001 

またはこの

++<<<<<<< HEAD 
++======= 
+ 
+  <string name="xxx">xxxx</string> 
++>>>>>>> origen/beta_001 

both modified紛争の多くは、このようapperencedこれを防ぐ?

+0

は、支店ベータ版のローカルまたは共有ですか? – nak

+0

@nak共有されています。 – reavenisadesk

+0

両方のブランチの違いは何ですか?私は彼らが何のために使うの? – nak

答えて

0

チェリーピックは、新しいブランチで選択されたすべてのコミットに対して常に新しいIDを作成します。コミットがチェリーを選んだブランチにマージしようとすると、間違いなく競合が表示されます。

現在の分岐モデルに従う場合は、masterをbeta_001ブランチにマージして、同じコミットIDを持つマスターからすべてのコミットを取得する必要があります。これは、マージコミットを追加しますが、あなたが言及した競合を回避します。

また、分岐管理を改善するために、分岐モデルをGitFlowに変更することもできます。 https://datasift.github.io/gitflow/IntroducingGitFlow.html

+0

違いは何ですか?マスターをbeta_001にマージするとまだ矛盾があります...私は誤解しているかもしれませんか?もっと説明できますか? – reavenisadesk

+0

**マスターからチェリーピックをしない**。マスターをbeta_001にマージするだけです。競合がある場合(他の誰かがbeta_001で変更した行と同じ行を変更した場合)、それが表示されます。質問で言及した紛争の種類は表示されません – nak

関連する問題