使用git cherry-pick时,会发生冲突 目标分支造成的冲突缺少工作分支 缺少一些提交,我无法挑选我对目标分支的新提交 问题是我怎样才能找到哪个冲突提交,当我挑选我的新提交到目标分支时缺少一些提交,并列出confilct提交ID?
对不起我的泳池英语。
Branch A, whith commit 1,2,3,4,5,6
Branch B, with commit 1,3
commit 6是commit 4的关联。 当我把提交6提取到分支B时,就会发生冲突。
是否有任何简单的方法可以确定哪个提交是关联提交6。 所以我可以挑选这个提交(比如提交4),而不是提交提交6,而不是提交4& 5两者。
谢谢大家。
答案 0 :(得分:0)
我打算编辑你的问题,但编辑是如此完整,以至于我会改写你原来的问题。
也许就是这样:
“尝试fieldnames = dict_list[0].keys()
时,我遇到了冲突。这种冲突是因为提交git cherry-pick A
,B
的祖先不在目标分支中,没有它,提交{{ 1}}导致目标分支发生大量冲突。如何识别提交A
?“
这不是一个git问题,这是一个通用的修订控制问题。可能只有一个提交阻止A
干净地进入目标分支(或者甚至是小冲突),或者可能有多个提交阻塞B
。查看执行挑选时的冲突,查看A
中更改的所有文件,并对每个文件执行A
并尝试找出解决冲突的方法。然后尝试挑选各种组合A
,直到找到有效的方法。
答案 1 :(得分:0)
如果你想在cherry-pick之前找到原始添加/更改分支A
上的文件的提交。您可以使用:
git log B..A filename
此命令将输出修改文件的提交,并且提交仅属于分支A
。你可以在输出的底部找到最早的提交,然后在分支B
上挑选这个提交:
git checkout B
git cherry-pick <the earliest commit you found>