Git实战技巧-比较不同分支之间的差异和代码的改动
Git实战技巧-比较不同分支之间的差异和代码的改动
1、企业场景
播仔即将结束在传智公司的开发工作,跳槽到黑马公司。项目经理考虑到播仔即将离职,只分配了一个简单的账户密码登录功能,而其他方式的登录功能让小黑去开发了。
项目经理为了保障播仔在离职前能完成开发工作,开始催促播仔工作进度:
播仔在找到小黑开发的代码分支后,开始合并代码:
此时:出现代码冲突问题
播仔懵了,怎么代码冲突了呢?
2、问题分析
为什么播仔在合并代码时,会出现代码冲突呢?
两位程序员(播仔、小黑)在各自分支下开发的功能,会涉及到一些相同的类。两位程序员都有针对相同的类中代码进行修改
在合并时,由于相同的类中代码有差异化,所以出现代码冲突
3、解决思路
3.1)使用Idea工具解决:
- 对比不同分支代码的差异化
- 把不同分支中有效代码进行保留,并合并成最终代码
- 向Git提交合并后的代码
3.2)使用Git命令行解决:
- 明确合并时哪些文件发生冲突
- 查看冲突文件内容,分析冲突代码
- 修改冲突文件(合并代码)
- 提交修改后的冲突文件
- 推送到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、问题小结
在团队开发中,经常会遇到代码冲突的问题。
原因:多人对相同的类进行了开发维护,造成代码存在差异化
解决方案:
- 使用工具或git命令对比不同分支代码的差异化
- 把不同分支中有效代码进行保留,合并成最终代码
- 提交合并后的最终代码
Git实战技巧-比较不同分支之间的差异和代码的改动相关推荐
- Git实战技巧-多人协作开发出现代码冲突,如何合并代码
Git实战技巧-多人协作开发出现代码冲突,如何合并代码 1.企业场景 小智和小黑两个人交叉修改同一个文件,这个时候小智修改完提交.问题来了,如果小智提交成功,那么就相当于忽略了小黑提交的内容.这个时候 ...
- (20/24) webpack实战技巧:watch实现热打包和添加代码备注
(20/24) webpack实战技巧:watch实现热打包和添加代码备注 在前面的学习中,我们一直使用webpack-dev-server充当(本地)服务器和完成打包任务,但是当出项目团队联合开发, ...
- 【Git实战技巧】恢复被强制推送push失踪的代码
前言 Git是一个易学难精的分布式版本控制系统,被我们码农常用于代码的管理.如果你还不了解Git,建议先通过廖雪峰的Git教程进行了解,再来看本文,因为本文以使用技巧为主,不会在基础名词上做过多解释. ...
- Git实战技巧-日常工作总结
1.开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支 --1.更新本地master代码 git checkout master git pull--2.更新本地dev代码 gi ...
- git 修改tag 备注_【Git】第十二章:Git高级实战技巧
1.查看不同版本之间的代码差异 短SHA-1值 使用git命令来代表某个commit时,我们不一定就是要用40位完整的SHA-1 hash值,也可以只是提供hash值的前几位就可以了,至少要4位以上, ...
- Python实战技巧(11)使用python收发邮件时需要的邮箱授权码如何获取
Python实战技巧(1)Python字典类型数据如何递归地通过点'.'的方式访问 Python实战技巧(2)Python的pdb调试代码方法详解 Python实战技巧(3)多版本兼容安装部署(py2 ...
- Python实战技巧系列
Python实战技巧(1)Python字典类型数据如何递归地通过点'.'的方式访问 Python实战技巧(2)Python的pdb调试代码方法详解 Python实战技巧(3)多版本兼容安装部署(py2 ...
- Python实战技巧(9)Python发送邮件
Python实战技巧(1)Python字典类型数据如何递归地通过点'.'的方式访问 Python实战技巧(2)Python的pdb调试代码方法详解 Python实战技巧(3)多版本兼容安装部署(py2 ...
- Python实战技巧(10)Python解析邮件
Python实战技巧(1)Python字典类型数据如何递归地通过点'.'的方式访问 Python实战技巧(2)Python的pdb调试代码方法详解 Python实战技巧(3)多版本兼容安装部署(py2 ...
最新文章
- A* 算法之父、人工智能先驱Nils Nilsson逝世 | 缅怀
- TCP/IP详解--学习笔记(7)-广播和多播,IGMP协议
- Minimal BASH-like line editing
- Python之 jinja2模板浅析
- 改善java程序的建议
- C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板部分特例化
- 阿里云开源 image-syncer 工具,容器镜像迁移同步的终极利器
- 使用WebRTC开发Android Messenger:第1部分
- JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例
- 还有那个bspider不知道哪里的飞鸽传书
- 深入解析MVVM架构
- 【机器学习系列】隐马尔科夫模型第一讲:通俗易懂概述HMM
- bootdo框架介绍使用
- 凤舞江湖手游如何用电脑玩 凤舞江湖PC电脑版玩法教程
- 八月流火,谁是京东数科最燃的研发人?
- C语言实战--DDOS攻击器
- Codeforces 274E. Mirror Room-模拟+STL
- 华为荣耀play3分辨率_华为全新国行原封报价
- 配置opencv,丢失 opencv_world300d.dll
- Kubernetes----Pod配置污点和容忍