目前我有两个分支:
主人
beta_001
beta_001有时从主人那里签出。为了使迄今为止对 master 进行beta_001更新,在 master 中推送的提交也将被精心挑选到beta_001。一切都很顺利,直到beta_001被合并回主的那一天。
很多both modified
冲突都是这样描述的:
++<<<<<<< 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
我想这是由于樱桃挑选而更改不同提交 ID 的情况,那么如何防止这种情况?
Cherry Pick 将始终为新分支中选取的每个提交创建一个新 id,当我们尝试合并到从中挑选提交的分支时,这肯定会显示冲突。
如果要遵循当前的分支模型,则应将 master 合并到分支beta_001以从具有相同提交 ID 的主服务器获取所有提交。这将添加合并提交,但避免您提到的冲突。
或者,您可以将分支模型更改为 GitFlow 以获得更好的分支管理。https://datasift.github.io/gitflow/IntroducingGitFlow.html