JavaEE鸿蒙应用开发HTML&JS+前端Python+大数据开发人工智能开发AI+设计软件测试新媒体+短视频直播运营产品经理集成电路应用开发(含嵌入式)Linux云计算+运维开发C/C++拍摄剪辑+短视频制作PMP项目管理认证电商运营Go语言与区块链大数据PHP工程师Android+物联网iOS.NET

【Java教程】Git代码冲突-不同分支之间的代码冲突

来源:黑马程序员

浏览9417人

2022.07.05

1、解决思路

在团队开发中,提交代码到Git仓库时经常会遇到代码冲突的问题。

  • 原因:多人对相同的文件进行了编辑,造成代码存在差异化

  • 解决方案:

    1. 使用工具或git命令对比不同分支代码的差异化

    2. 把不同分支中有效代码进行保留,合并成最终代码

    3. 提交合并后的最终代码

下面我们基于idea工具与git命令行两种实施操作开始动手实践。

2、动手实践

使用Idea工具解决

1.对比不同分支代码的差异化

    • 选择有代码冲突的类后,进行Merge(合并)

 

image-20220610184510932.png

image-20220610184804677.png

2.把不同分支中有效代码进行保留,并合并成最终代码

      • 在不同分支上,选择要保留的代码到Result(最终代码)

         

        image-20220610185259225.png

image-20220610185352586.png

 

合并完成后的代码:

image-20220610185558585.png

 

 

3.向Git提交合并后的代码

image-20220610205911386.png

 

使用Git命令行解决

    1. 明确合并时哪些文件发生冲突     (当前分支为dev1)

      • 执行命令:git merge 分支名       有冲突时会提示哪些文件有冲突    

      • 代码冲突:会停留在MERGING状态

        image-20220611203711835.png

    2. 查看不同分支代码的差异化

      • 执行命令:cat 冲突文件

         

        image-20220611204417333.png

        image-20220611205736833.png

    3. 修改冲突文件(合并代码)  

      • 执行命令:vim 冲突文件

image-20220611204927708.png

image-20220611205106830.png

通过vi编辑器,删除冲突文件中不需的内容后:

 

image-20220611205302992.png

image-20220611210706434.png

    1. 提交修改后的冲突文件

      • 执行命令:git add 修改后的冲突文件            先添加到暂存区

      • 执行命令:git commit -m '消息'                再提交到本地Git

        image-20220611212526617.png

    2. 推送到Git远程仓库

      • 执行命令:git push

image-20220611212712798.png