• Git实战技巧-比较不同分支之间的差异和代码的改动


    Git实战技巧-比较不同分支之间的差异和代码的改动

    1、企业场景

    播仔即将结束在传智公司的开发工作,跳槽到黑马公司。项目经理考虑到播仔即将离职,只分配了一个简单的账户密码登录功能,而其他方式的登录功能让小黑去开发了。
    项目经理为了保障播仔在离职前能完成开发工作,开始催促播仔工作进度:

    播仔在找到小黑开发的代码分支后,开始合并代码:

    此时:出现代码冲突问题

    播仔懵了,怎么代码冲突了呢?

    2、问题分析

    为什么播仔在合并代码时,会出现代码冲突呢?

    两位程序员(播仔、小黑)在各自分支下开发的功能,会涉及到一些相同的类。两位程序员都有针对相同的类中代码进行修改


    在合并时,由于相同的类中代码有差异化,所以出现代码冲突

    3、解决思路

    3.1)使用Idea工具解决:

    1. 对比不同分支代码的差异化
    2. 把不同分支中有效代码进行保留,并合并成最终代码
    3. 向Git提交合并后的代码

    3.2)使用Git命令行解决:

    1. 明确合并时哪些文件发生冲突
    2. 查看冲突文件内容,分析冲突代码
    3. 修改冲突文件(合并代码)
    4. 提交修改后的冲突文件
    5. 推送到Git远程仓库

    4、动手实践

    4.1)使用Idea工具解决

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

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



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

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



    合并完成后的代码:

    向Git提交合并后的代码

    4.2)使用Git命令行解决

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

    • 执行命令:git merge 分支名 有冲突时会提示哪些文件有冲突
    • 代码冲突:会停留在MERGING状态


    查看冲突文件内容,分析冲突代码

    • 执行命令:cat 冲突文件


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

    • 执行命令:vim 冲突文件

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

    提交修改后的冲突文件

    • 执行命令:git add 修改后的冲突文件 先添加到暂存区
    • 执行命令:git commit -m '消息' 再提交到本地Git


    推送到Git远程仓库

    • 执行命令:git push


    5、问题小结

    在团队开发中,经常会遇到代码冲突的问题。
    原因:多人对相同的类进行了开发维护,造成代码存在差异化
    解决方案:

    1. 使用工具或git命令对比不同分支代码的差异化
    2. 把不同分支中有效代码进行保留,合并成最终代码
    3. 提交合并后的最终代码
  • 相关阅读:
    java计算机毕业设计社区生鲜电商平台源码+系统+数据库+lw文档+mybatis+运行部署
    TLS协议深度解析:挖掘现代网络安全防御的底层技术
    长江商业银行面试
    【密评】商用密码应用安全性评估从业人员考核题库(五)
    Github操作
    .NET对象的内存布局
    Android基础-内存泄漏
    CMake Tutorial 巡礼(8)_为测试白板添加支持
    sql2java-pagehelper:参照Mybatis-PageHelper实现分页查询
    JUC源码学习笔记1——AQS和ReentrantLock
  • 原文地址:https://blog.csdn.net/qq_16517483/article/details/125566254