IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> idea实战技巧 -> 正文阅读

[开发工具]idea实战技巧

文本持续更新一些工作中实用的idea技巧

关于用命令行还是工具

虽然使用命令操作很高大上,但是为了方便和高效,还是推荐使用图形化工具,作为java开发,个人强烈推荐使用idea自带的git工具。
git操作那么多,你都会用已经很牛逼了,在你理解这些操作流程之后在一些特殊场景不得不使用命令行时,查一查文档慢慢操作就可以了。idea的git工具会记录这些命令
在这里插入图片描述

先简单过一下idea的git工具界面

(这一章节么得啥子的意思,秀一下最新版的IDEA)

  1. 配置(略)
  2. 远程拉取项目
    在这里插入图片描述
  3. git面板
    在这里插入图片描述
  4. 分支管理(右下角)
    在这里插入图片描述
  5. 快捷操作
    在这里插入图片描述
  6. 所有操作选项
    在这里插入图片描述
    在这里插入图片描述

1. 冲突的解决

场景1 单分支冲突

早上上班张三和你都在dev1 的最新代码开始开发,张三下班push完溜了,你push时发现和张三代码冲突了,弹出和远程代码冲突的对话框(PS:关于merge和rebase个人比较喜欢用reBase(变基))
在这里插入图片描述
冲突必然意味着决定代码去留和整合后编译是否通过,逻辑是否正确等问题,对于别人写的代码有问题应该讨论沟通,避免给别人的代码引入bug
在这里插入图片描述
点击merge,IDEA解决冲突的这个界面还是很赞的!!!
在这里插入图片描述
解决完冲突记得再次push一次
用rebase和merge分别处理完冲突的区别
rebase:当分支很多时,由于变基的操作,不会有很多分支线交错,提交记录很清晰
在这里插入图片描述

场景2 两个分支合并时冲突(这种场景很少)

张三和我分别在dev1和dev2分支开发不同的功能,完成后老板想让张三的功能加到我的分支上来
冲突处理和上面讲的一样,这里主要看dev1分支的代码怎么同步到dev2
**注意:**这个场景很少,因为dev1和dev2的差别可能不只是暂时开发完成的两个功能不同,还会有很多历史功能都不相同,这个操作会把dev1的所有代码同步过来,风险很大,只同步某1次的提交在后面的cherry-pick中说明

使用rebase

分支切换到dev2,编辑框空白处右击,然后按图操作
在这里插入图片描述
结果:rebase变基,分支线只有一条
在这里插入图片描述

使用merge

在这里插入图片描述
结果:分支线交会
在这里插入图片描述

场景3 开发分支与主分支冲突(常见情况)

张三使用dev1开发完成后要将代码合并到master主分支上(流程:commit => push => pull request => merge tomaster,一般开发是没有master分支的push权限的) 然后远程仓库从dev1合并到master时发生冲突()。
此时需要在本地将master远程仓库的代码merge/rebase到dev1,然后dev1 重新push ,一般pull repuest
会自动更新,流程大致同场景2。

场景4 cherry-pick 将一个分支的1次提交同步到另一个分支

例如:将的dev1中的两次提交同步到dev2
线切换分支到dev2
在这里插入图片描述
双击dev1 分支名,使面板显示dev1的提交记录
在这里插入图片描述
可能会有冲突要解决,解决会新建一条提交记录
在这里插入图片描述

双击dev2,切换列表,查看结果:(新提交一次记录)
在这里插入图片描述

场景5 git unstash 暂存代码恢复时产生冲突

冲突的解决同上文
这里说明stash的用法

应用场景

开发过程中需要切换到别的分支处理问题,需要将未提交代码先暂存起来,等分支切回来复原暂存的代码
开发到一半发现整错分支了,将未提交的代码暂存,到正确的分支复原暂存的代码
读代码标记了很多注释,暂存下来,下次看时将标记和注释复原下来看

怎么使用


  1. 在这里插入图片描述
    执行完成之后编辑器内这些未提交的代码就不见了

  2. 找到stash管理里窗口在这里插入图片描述
    在这里插入图片描述

说明一下分支管理

网上搜一下gitflow,了解下行业内分支管理的最佳实践
会发现rebase和merge都适合与不同的场景,这里就不赘述了

2. 多次提交记录合并(利用rebase变基)

张三同学在写一个需求,边测试边改代码,一直在提交、测试,导致git log全是些无关紧要的message,特别不好看,很冗余
在这里插入图片描述
最终张三完成需求之后,打算把这些提交合并到一次提交中。
在这里插入图片描述
在弹出的对话框上操作
在这里插入图片描述
结果:
在这里插入图片描述

3. 同步分支

场景1 远程有,本地没有

在这里插入图片描述

场景2 分支本有,远程没有

push时远程仓库自动创建

github好用的技巧

// TODO

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:24:56  更:2022-04-06 23:26:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:51:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码