使用idea做push操作解决冲突

363 阅读2分钟

1.场景

1、当我们本地的代码和线上的有冲突的时候,使用idea做push操作时,会提示你merge

2、当使用git pull的时候,也会出现冲突

2.解决冲突步骤

1.git push的情况

在这里插入图片描述 在这里插入图片描述 当你选择了Accepct Left,当前你的代码就会变回初始版本的 当你选择了Accepct Right,当前你的代码就会变回线上版本 在这里插入图片描述在这里插入图片描述 git push,就会有两次commit,一次是merge

在这里插入图片描述

2.git pull的情况

在这里插入图片描述 在这里插入图片描述 分支线:不同人就会切一条线出来,如果没冲突merge的话就会一直向前走,如果merge就会合并回去

3.idea切换分支注意事项

  1. 本地分支切换的时候(例如A切到B),会弹出来Restore workspace on branch switching 对话框,如果选择是的话,在切换分支的时候,你在当前分支(A)所做的一些还未add或commit/push的文件改动(包括断点等的设置)会带到切换后的分支(B)上;
  2. 如果本地工作空间没有uncommitted changes, 分支会顺利切换
  3. 如果本地工作空间(分支A)有些文件会被分支B改动,IDEA会弹出对话框,让你选择Force Checkout 或 Smart Checkout;

如果选择Force Checkout, 本地工作空间(分支A)的一些未提交的修改会被覆盖(被分支B覆盖),会有很大可能丢代码!!! 如果选择Smart Checkout,IDEA会先执行stash命令,贮存这些未提交的修改,然后checkout 到分支B,在切换到分支B后,unstash 这些修改,所以A分支本地的这些修改会带到B分支上

总结:不要点击force checkout,如果不想当前分支修改到代码出现在要切换到分支中,需要手动Stash changes,如果允许当前分支修改到代码出现在要切换到分支中,可以选择smart checkout

4.git拉取代码的快捷图标

在这里插入图片描述 rebase保持一条直线