1、原因
push代码时与远程分支其他人的分支起了冲突,并进行了合并,此时该提交在idea git 提交界面显示灰色,这是因为合并冲突后提交,导致了两个父提交,需要提供 -m 选项来选择遴选的父提交。
2、解决方法
(1)使用 git show <hashId> 查看所有父提交:
Merge 里是我两次冲突提交的id,使用 git diff 18ecf86d 1e45b5d5 对可以对比出冲突部分,18ecf86d 的父提交序号是1,1e45b5d5 是2,如果有更多父提交,以此类推。
(2)使用 git cherry-pick -m <父提交序号> <hashId>
这是我发生错误时idea的完整信息:
commit 6cdb3d0b09b760f776360943000a55d8ae4898d1 is a merge but no -m option was given. cherry-pick failed
这是我解决的方法,选择了第一个父提交:
git cherry-pick -m 1 6cdb3d0b09b760f776360943000a55d8ae4898d1