Git 樱桃选择将大小写合并冲突



目前我有两个分支:

主人

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

最新更新