废话不多说,上 case!!!
1. 更新master分支
package org.example;
public class Main {
public static void main(String[] args) {
System.out.println("--------Git冲突测试代码开始---------");
System.out.println("master mark 1");
System.out.println("--------Git冲突测试代码结束---------");
}
}
2. 更新llm_dev分支
package org.example;
public class Main {
public static void main(String[] args) {
System.out.println("--------Git冲突测试代码开始---------");
System.out.println("llm_dev mark 1");
System.out.println("llm_dev mark 2");
System.out.println("--------Git冲突测试代码结束---------");
}
}
3. 在master解决冲突
执行 git merge llm_dev,结果如下
package org.example;
public class Main {
public static void main(String[] args) {
System.out.println("--------Git冲突测试代码开始---------");
<<<<<<< HEAD
System.out.println("master mark 1");
=======
System.out.println("llm_dev mark 1");
System.out.println("llm_dev mark 2");
>>>>>>> llm_dev
System.out.println("--------Git冲突测试代码结束---------");
}
}
冲突标记解释
<<<<<<< HEAD:
这行标志着冲突开始的地方。HEAD 指向的是你当前所在的分支(在这个例子中是master分支),所以在这行之后的代码是你在当前分支上的版本。
=======:
这行标志着两个不同版本之间的分隔线。它上面是当前分支的代码,下面是即将合并进来的分支的代码。
>>>>>>> llm_dev:
这行标志着冲突结束的地方。llm_dev 是你要合并进来的分支名,所以在这行之前的代码是来自 llm_dev 分支的版本。
解决冲突的方法
根据你的需求,你可以选择保留其中一个版本,或者将两者结合起来。以下是几种可能的处理方式:
保留当前分支 (HEAD) 的版本:
如果你只想保留当前分支上的代码,可以删除 ======= 到 >>>>>>> llm_dev 之间的所有内容,包括这两行标记。
保留 llm_dev 分支的版本:
如果你只想保留 llm_dev 分支上的代码,可以删除 <<<<<<< HEAD 到 ======= 之间的所有内容,包括这两行标记。
合并两个版本:
如果你想结合两个版本的内容,可以根据需要编辑代码,然后删除所有的冲突标记(<<<<<<< HEAD、======= 和 >>>>>>> llm_dev)。
采用合并两个版本的冲突解决如下
package org.example;
public class Main {
public static void main(String[] args) {
System.out.println("--------Git冲突测试代码开始---------");
System.out.println("master mark 1");
System.out.println("llm_dev mark 1");
System.out.println("llm_dev mark 2");
System.out.println("--------Git冲突测试代码结束---------");
}
}
4. 提交解决
git add ./*
git commit -m ‘master merge llm_dev’
git push
收工!!!!