cherry pick commit提交给一个已经发生重大变化的分支

时间:2016-03-30 13:51:56

标签: git git-cherry-pick

让我们说在处理功能分支A时,其他人合并了一个大的拉取请求,该请求会显着修改项目的结构(将其拆分为较小的Maven项目)

我怎样才能将我的工作选择到现在已更改为特定文件夹的主分支?

1 个答案:

答案 0 :(得分:0)

通常的最佳做法是在更新的远程跟踪分支

之上重新定位您的本地提交
git checkout abranch
git fetch
git rebase origin/abranch

这相当于挑选你的提交,除了rebase会为你做这件事。

但在这种情况下,取代挑选或重新定位,可能更容易做git merge --squash --no-ff origin/aBranch
正如在" Differences between git merge --squash and --no-commit"中所提到的,它几乎就像你对所有合并的更改做了一个挑选。

这比一个rebase更可取,它会尝试在项目工作树上重放你的提交,这个树的结构已经发生了很大的变化。

您仍然需要解决冲突,但只能一步到位。