目前我有两个分支机构:
主
beta_001
beta_001有时候会从主人那里检出来。 为了使beta_001更新到目前为止掌握,推入master的提交也将被挑选到beta_001。所有事情都运行良好,直到beta_001合并回主人。
很多public abstract class Animal {}
public abstract class Mammal extends Animal {}
public abstract class Bird extends Animal {}
public class Tiger extends Mammal {}
public class Ostrich extends Bird {}
public interface RunningObject {}
public class RunningTiger extends Tiger implements RunningObject {}
public class RunningOstrich extends Ostrich implements RunningObject {}
public class RunningRobot extends NonAnimal implements RunningObject {}
// This line is syntactically wrong
public List<Animal & RunningObject> runningAnimals = new List<>();
runningAnimals.add(new RunningTiger()); // This should work
runningAnimals.add(new RunningOstrich()); // This should work
runningAnimals.add(new Tiger()); // This should give compile error
runningAnimals.add(new Ostrich()); // This should give compile error
runningAnimals.add(new RunningRobot()); // This should give compile error
冲突都是这样出现的:
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
我猜这是因为樱桃选择而导致提交ID不同的一个变化,所以如何防止这种情况?
答案 0 :(得分:0)
Cherry Pick将始终为新分支中选择的每个提交创建一个新ID,当我们尝试合并到提交的樱桃选择的分支时,这肯定会显示冲突。
如果您想要遵循当前的分支模型,您应该将master合并到beta_001 分支,以获得具有相同提交ID的主服务器的所有提交。这将添加合并提交,但避免您提到的冲突。
或者,您可以将分支模型更改为GitFlow,以便更好地进行分支管理。 https://datasift.github.io/gitflow/IntroducingGitFlow.html