为了促进依赖管理和冲突解决,IntelliJ IDEA 实现了依赖分析器,它提供项目和子项目中使用的所有依赖项(包括传递性依赖项)的广泛信息。
这个新功能允许轻松检测冲突的依赖关系并解决问题,比如可以过滤掉相同的依赖项,并查看它们在不同库中的存在,还可以快速浏览依赖项,以正确构建配置。
Mac版本资源:IntelliJ IDEA 2022 for Mac(最好用的Java开发工具)
查看这行代码是谁改的

在编辑器左侧右键,选择 Annotate with Git Blame


这里需要重点讲一下,因为我最近居然发现我们的同事居然还是用非常原始的方式解决冲突,就是一个文件一个文件的删除 ======= 这个。当时我看见的时候,我自己都惊呆了。
我们先手动的制造一个冲突
- mkdir test;
- cd test;
- git init -y;
- echo 'console.info("one line")' > index.js;
- git add .; git commit -m 'init';
- git checkout -B feature/two;
- vim index.js; # 在第二行添加 console.info("two line")
- git add index.js; git commit -m 'feat: two line';
- git branch master;
- # 创建分支 3
- git checkout -B feature/three;
- vim index.js; # 在第二行添加 console.info("three line")
- git add index.js; git commit -m 'feat: three line';
-
- git checkout master
- # merge feature/two
- git merge feature/two # 这个时候不会发生冲突
-
- git merge feature/threee # 冲突发生

上面我们已经制造出了一个冲突,这个时候我们通过 Inteillj Idea 自带的 Version Controller 的功能来处理这个冲突。
直接在编辑器中打开冲突文件夹

打开项目演示解决冲突

在项目文件上右键,选择 Git,选择 Resolve Conflicts

冲突处理弹窗
点击之后会弹出一个处理冲突的弹窗。接下来好好介绍一下这个弹窗

这里就进入到详细的单文件合并步骤了
console.info("two line") 合并console.info("three line") 合并
查看代码历史

点击 Show History

点击 Show History 之后底部会弹出当前项目的历史提交记录