最近,我被要求cherry-pick提交.
那么,在git中挑选一个提交意味着什么呢?你怎么做呢?
假设我做了一个交互式变基git rebase -i.如果出现一些冲突,我可能会遇到合并冲突并要求进行3向合并.使用时meld,我会看到三个窗口:( LOCAL左),???(中)和REMOTE(右).在这里,???我的意思是,meld它没有提供一些特殊的名称来附加到文件.
在正常合并期间,这是有道理的,因为中间是共同的祖先,并且您正在将本地和远程更改合并到该祖先.然而,在交互式rebase期间似乎并非如此 - 目前还不清楚每个文件代表什么.
在交互式rebase期间,3向合并中的这些文件各自代表什么?编辑这些文件时,我的目标是什么?
更新:根据我看到的评论和实验:
LOCAL):此时在提交重播序列中的文件的本地版本.REMOTE):刚刚应用当前提交之后的文件状态.因此,我的任务是从中间到右边确定增量,然后将此增量应用于左侧.在新的提交序列中应用当前提交增量后,Middle应反映文件的状态.
请注意,此配置似乎特定于融合,至少在某种程度上.对于其他编辑者,Git的3向合并行为可能有所不同.