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

9 篇文章 0 订阅

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. 提交合并后的最终代码
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值