为了促进依赖管理和冲突解决,IntelliJ IDEA 实现了依赖分析器,它提供项目和子项目中使用的所有依赖项(包括传递性依赖项)的广泛信息。
这个新功能允许轻松检测冲突的依赖关系并解决问题,比如可以过滤掉相同的依赖项,并查看它们在不同库中的存在,还可以快速浏览依赖项,以正确构建配置。
?Mac版本资源:IntelliJ IDEA 2022 for Mac(最好用的Java开发工具)
?
Intellij Idea 中的版本控制
查看这行代码是谁改的
在编辑器左侧右键,选择 Annotate with Git Blame ?
点击 左侧时间会在弹出的子窗口中显示这次修改的 hash,提交评论,和同步修改的文件有哪些
复现代码冲突
这里需要重点讲一下,因为我最近居然发现我们的同事居然还是用非常原始的方式解决冲突,就是一个文件一个文件的删除 ======= 这个。当时我看见的时候,我自己都惊呆了。
我们先手动的制造一个冲突
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
冲突处理弹窗
点击之后会弹出一个处理冲突的弹窗。接下来好好介绍一下这个弹窗
- 1. 待合并分支
- 2. 当前分支
- 3. 冲突的文件列表
- 4. 全部以当前分支「master」为准,丢弃待合并「feature/three」分支冲突文件
- 5. 全部以待合并分支「feature/three」为准,丢弃当前分支「master」冲突文件
- 6. 点击 merge 会打开一个子窗口合并明细
- 7. 双击文件和打开一个子窗口进行代码 merge 明细
- 8. 显示了合并分支文件状态,上图标识合并的两个分支 文件都是更新状态
- 9. 以分组列表的形式展示
这里就进入到详细的单文件合并步骤了
- 1?? 当前分支的修改
- 2?? 合并区域
- 3?? 待合并分支的修改
- 4?? 显示本次合并的明细,就是看除了当前文件还有哪些文件需要合并
- 5?? 将左侧?
console.info("two line") ?合并 - 6?? 将右侧?
console.info("three line") ?合并 - 7?? 直接接受左侧的代码
- 8?? 直接接受右侧的代码
- 9?? 引用合并的内容
查看代码历史
点击?Show History
点击 Show History 之后底部会弹出当前项目的历史提交记录
- 1?? 这里显示的当前项目的提交记录
- 2?? 可以指定想要查看历史记录的分支
- 3?? 可以选择只看某个人的提交记录
- 4?? 时间赛选
- 5?? 选中左侧的提交记录,这里会展示此次变更了哪些文件,双击文件会在弹出的新窗口中显示代码变更情况
上面是直接选中的整个项目查看整个项目的历史提交记录,有的时候我们只想查看某个文件夹,或者是某个文件的代码变更记录。整个时候我们只需要在对应的文件夹或者文件上右键悬着即可。
|