32

我在主分支中有 33 个提交,它们是网格化的。现在我需要整齐地维护记录。所以现在我已经创建了功能分支,我正在尝试将这 33 个提交分类到不同的功能分支中。那么是否可以一次选择多个提交以复制到相关的功能分支中?当我使用cherry-pick 命令尝试多次提交时,我也面临着它的冲突。

git cherry-pick A B C

这里 A、B、C 是提交的哈希码。

4

2 回答 2

23

你做对了。大纲是

git cherry-pick [--edit] [-n] [-m parent-number] [-s] [-x] [--ff] <commit>...

git cherry-pick从左到右提交。您可以根据需要订购。如果你有冲突,你有三个选择。您可以git cherry-pick --quit(停止采摘并让您的树处于当前状态),git cherry-pick --abort(停止采摘并将您的分支重置为开始之前的状态git cherry-pick)或与编辑器或使用解决此冲突,git mergetool然后git cherry-pick --continue转到下一步在您的列表中提交。

于 2013-12-20T08:07:52.047 回答
6

如果您需要整齐地维护记录,最好创建一个主题分支并运行git rebase -i <commit before the 33rd>交互式 rebase。按照说明删除提交。这应该比以特定严格的顺序挑选如此多的提交更简单。

于 2013-12-20T09:42:25.527 回答