1.什么是冲突?

冲突是指当你在提交或者更新代码时被合并的文件当前文件不一致


2.冲突的产生场景

  1.更新代码
  2.提交代码
  3.分支合并

上面各种情况的本质都是,当前文件与合并文件不一致,因此不论哪种情况其解决冲突的方法是一样的


3.Idea中解决冲突

模拟场景:
  假设有两个程序员(张三、李四)同时开发一个项目,并且同时编写同一个文件


3.1程序员张三

  张三新建了springconf.txt配置文件,往配置文件里写了点内容。
在这里插入图片描述

上传到代码仓库。
在这里插入图片描述


3.2程序员李四

  每次工作前先更新项目代码

  李四上班后,更新项目代码,修改springconf.txt 文件,然后提交到代码仓库。
在这里插入图片描述

在这里插入图片描述


3.3张三又修改了springconf.txt文件

  张三把代码写完后,准备提交代码了(这是时候提交到本地仓库了),在提交之前,先要拉取仓库的代码。
在这里插入图片描述

  这个时候肯定会出现冲突的

  程序员李四修改了springconf.txt文件,现在仓库的springconf.txt文件张三本地的springconf.txt文件已经不一样了。


3.4 解决冲突

  在拉取仓库代码时,出现冲突了。

出现两个单选框
1.选择Merge 的话就是合并冲突

2.选择Rebase 的话就是 选择当前修改
在这里插入图片描述

在这里插入图片描述
选择Merge 之后,点击ok

出现以下弹出框:
在这里插入图片描述
一般我们选择手动合并Merge

点击Merge

在这里插入图片描述

  将需要的内容点击:">>"既可以合并内容到result中,不需要的内容点击“x”即可,合并完成后点击apply即可。

  值得注意的是,最将所有的“x >>”符号都要处理完,不需要的点击“x”,需要的点击“>>”

  手动合并后的文件内容如下
在这里插入图片描述


3.5 张三解决冲突后,需要将项目推送到仓库中

4.总结

  1. 多人协作开发的时候,如果出现了你没有改过的文件跟你冲突了,一定要去找到当事者,说清楚是如何冲突的
  2. 然后协商解决,千万不要擅自拉别的分支去试图解决冲突,或找文件覆盖,更或者以自己的文件为准.
  3. 同时记住,解决了之后,要add 和 commit 最后push.为保证万无一失,最后在冲突都解决之后,重启项目;
  4. 保证至少不会有立即奔溃的现象发生.然后才去提交,push.
  5. 提交的时候,一定要保持清醒,先搞清楚自己要提交的文件之间的关系,然后再提交,这样才不会有文件缺失的问题,造成奔溃.

链接: [面试题库](https://www.bloghut.cn/questionBank) ```java https://www.bloghut.cn/questionBank ```

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐