idea 中 “一股脑” merge 怎么办?
idea merge操作:git中的merge操作,为什么merge之后不能commit,且直接push即可
背景
在idea中,选择merge into current之后,只有有冲突的才会出现解决冲突的页面,如果没有冲突就“一股脑”全部合并到当前的分支了(之前我出现过,merge本地的一股脑,但是merge remote的会让我们自己选择的merge,出现如下界面,但是后来也不行了,所以括号里面这个案例略)。
可是如果,当前修改的代码中,有一部分虽然没有冲突,但是我不希望merge过来呢?比如当前项目的版本?
而且,如果被“一股脑”的合并过来后,idea中的merge操作会默认执行commit,所以在version control中的Local changes 也是什么也没有的,想要部分回退也不行,如下所示
解决
方法一:
选择compare with current,如下图
这里的作用是为了和其他分支比较
记录需要merge的文件,进入files进行修改
或者compare whit branch进行修改
方法二:
还是用merge into current,“一股脑”替换。
如果被“一股脑”的合并过来后,idea中的merge操作会默认执行commit,所以在version control中的Local changes 也是什么也没有的,想要部分回退也不行,如下所示
通过命令或者idea进行回退commit,就能看到了(IntelliJ idea 撤回(已经commit未push的)操作)
将当前的commit回退,commit回退之后,merge的内容就显现了出来
之后可以revert需要revert或者修改需要的内容。
方法三:
手动粘贴需要修改的地方(当我没说)
总结
推荐用方法二
因为方法一还需要记录,自己想修改的类,比较麻烦,方法二,只需要回退一下,就可以在version control中进行回退和merge操作了,方法三,呵呵不解释,当我没说~