我在主分支中有 33 个提交,它们是网格化的。现在我需要整齐地维护记录。所以现在我已经创建了功能分支,我正在尝试将这 33 个提交分类到不同的功能分支中。那么是否可以一次选择多个提交以复制到相关的功能分支中?当我使用cherry-pick 命令尝试多次提交时,我也面临着它的冲突。
git cherry-pick A B C
这里 A、B、C 是提交的哈希码。
我在主分支中有 33 个提交,它们是网格化的。现在我需要整齐地维护记录。所以现在我已经创建了功能分支,我正在尝试将这 33 个提交分类到不同的功能分支中。那么是否可以一次选择多个提交以复制到相关的功能分支中?当我使用cherry-pick 命令尝试多次提交时,我也面临着它的冲突。
git cherry-pick A B C
这里 A、B、C 是提交的哈希码。
你做对了。大纲是
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
转到下一步在您的列表中提交。
如果您需要整齐地维护记录,最好创建一个主题分支并运行git rebase -i <commit before the 33rd>
交互式 rebase。按照说明删除提交。这应该比以特定严格的顺序挑选如此多的提交更简单。