使用IDEA工具处理git合并后的辩论的细节

打印 上一主题 下一主题

主题 1788|帖子 1788|积分 5364

使用 IDEA 处理合并(merge)

使用IDEA处理git合并如果碰到辩论,对辩论文件的不辩论部门须要处理吗?会自动将双方不辩论的部门合并吗?
比如如下,使用 IDEA 合并 branch1 到 branch2 分支,出现了辩论,如下图:

如果处理好辩论,得到如下图:

我的问题是,绿色的部门如果不更新到中心的Result里头,在点击 Apply 之后会不会丢失掉?答案是会丢失,没有辩论的部门也得你操作点一下!中心的Result就是合并后的样子!
   我为什么会有这个疑问,由于我以前是风俗直接使用命令行 git merge 来合并的,合并之后搜索 <<< 来确定有辩论的位置(当然也可以检察实验 git merge 命令后会列出辩论的文件列表),以前用git merge命令都是会自动合并没有辩论的部门,以是我改成用 IDEA 的图形化工具之后有这样的疑问
  下面是上述结论的实践证实
假设我们如今不将绿色无辩论的部门手工弄到中心的Result,继续点击Apply,则 IDEA 照旧比较人性化给你弹出提示,告知你还有未处理完的合并

此时如果点击 Continue Merge 就相当于继续处理剩余的,如果点击 Apply Changes and Mark Resolved 就是继续(老子就要这么干)
点击 Apply Changes and Mark Resolved 后就可以看到最终的合并结果丢失了两边绿色的内容,如下图:

细节

细节1:diff算法范围性

注意到diff算法的一些范围性。本该是显示新增的,结果显示为修改。
受限于差异算法,红框里的部门着实应该辨认为新增内容,但是算法无法这么智能地辨认这是新方法,它以为只是第一个方法即 getProfiles() 的延伸!!你可以看到红框里末了一个 } 被认为和原getProfiles() 方法的 } 雷同,如下图:

细节2:从哪里可以看到什么分支合并到什么分支

在处理辩论的页面可以看到

另外还可以从下图看出(如果有辩论,最左边的就是 “合并到” 的分支)

偶然候也非常奇葩,不显示分支名,显示的revision,不知道为什么。比如如下图是合并branch2到branch1,结果branch2被现实成revision,可读性变差了!!

细节3:“a合并到b” 和 “b合并到a” 就是显示的结果反过来而已


细节4:保留左边照旧右边?

合并的时候自然可以选择保留两边任意一边的,也可以两边都保留,也可以两边都不采取。中心的Result栏你要怎么改就怎么改,反正你在Result看到的就是最终的合并后的结果
如下图,可以不采取左右两边的,最终结果使用一个新的变量名

细节5:处理完辩论之后,有没有一键左右两边的都合并到中心?

处理完某个文件中的辩论部门后,偶然候左右两边的 >> 和 << 太多了,一个个点完了左边的>>还要一个点右边的<< 太费劲了,有没有快速的一次性将左边的>>全部采取,和一次性右边的<<全部采取,又大概一次性将左右两边的全采取?
着实是有的


  • 点击 “>> Left” 这个则把左边无辩论的、全部的change应用已往(这样就不须要逐个点击,同时有辩论的不会一起已往)
  • 点击 “>> Right” 这个同理把右边无辩论的、全部的change应用已往
  • 点击 “>><< All” 则相当于点击了上面的两个按钮,同样的,会把无辩论的、全部的左右的change应用

注意
1、发起照旧一个个点击会比较放心,除非你真的很自信你的操作没有问题。
2、上面的操作可以通过ctrl+z或cmd+z取消
细节6:IDEA 右下角的分支终于会自动刷新了

实测Mac版本的 IDEA Ultimate Edtion 2023.1.3,在Terminal中切换分支,右下角显示的分支终于会及时刷新了(之前在Terminal中使用git checkout myBranch 之后并不会及时变革,要等鼠标点击到别的地方的时候才会刷新)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表