我有时想从不同的存储库中选择一系列提交。我知道有两种方法可以做到这一点。
1
git checkout myBranch
git cherry-pick begin..end
或
git rebase --onto myBranch begin end
我发现第一个版本更容易记住。然而,我读了很多关于如果采摘与挑选相比,挑选樱桃是多么邪恶,因为它有点打破了历史。但我还没想到的是,如果在挑选一系列提交或用--onto
我倾向于认为应该没有区别。我错了吗?
答案 0 :(得分:1)
重新定位和挑选樱桃对于合并来说同样糟糕。它们都会导致忘记您提取的更改的原始提交的ID;因此,以后的合并可能会尝试多次应用相同的更改。
答案 1 :(得分:1)
这两个命令是等价的,你只是做正常的rebase会做的工作,以找出重放到目标分支上的未合并提交。
答案 2 :(得分:-2)
实际上,在这方面,挑选樱桃不比变基更糟。 Cherry pick将创建提交的副本,而rebase实际上会移动它们(从而重写历史记录)。
两者都更加邪恶然后合并,我认为这通常是最糟糕的选择。