如何只提交两个任意提交到分支的更改?

时间:2014-05-11 08:47:59

标签: git version-control git-merge git-cherry-pick

我遇到的问题是我在一个错误的分支上完成了我的开发,现在我想采取/樱桃选择我的更改并将它们放在另一个分支上。我只想采取已更改的文本行,仅此而已!

这里有一个例子来说明我的问题:

C3 <-- Branch 1
|
C2    C4 <-- Master
|      |
C1 ----|

每个提交(C1,...,C4)都包含一个包含以下内容的文本文件:

C1:
A

C2:
A
B

C3:
A
B
C

C4:
A2

我想将提交C2和C3之间的更改放在提交C4上。这意味着我想获取已更改的行(C)并将其置于提交C4。新提交C5的​​文本文件应如下所示:

C5:
A2

C

如果我输入主分支

git cherry-pick C2..C3

我遇到了冲突并且打开了以下视图:

LOCAL:         BASE              REMOTE
A2                               A
                                 B
                                 C

这不是我想要的。我只想看看C2和C3之间的差异。所以它看起来应该更容易合并:

LOCAL:         BASE              REMOTE
A2                               

                                 C

这在Git中是否可行,或者是否有支持此工作流程的合并工具?它使事情变得如此简单。

0 个答案:

没有答案