gpt4 book ai didi

Git cherry pick 创建重复提交

转载 作者:太空狗 更新时间:2023-10-29 14:43:27 28 4
gpt4 key购买 nike

在从一个分支中挑选一些提交到另一个分支后,当稍后创建 pull 请求时我仍然看到提交。

例如,有一个 git 项目有两个分支:Dev 和 Release。

提交历史按以下顺序排列。

开发:a1、a2、a3、a4、a5、a6

发布:a1,a2

现在,如果我从 Dev 单独挑选提交 a3 和 a5 到 Release。现在提交历史将如下所示。精心挑选的提交将具有新的 SHA(b1 和 b2)。

发布:a1、a2、b1、b2。

稍后,如果我尝试创建从 Dev 到 Release 分支的 pull 请求,我仍然会看到提交 a3 和 a5。

但在这种情况下,我如何才能找到这两个分支之间的提交差异?

我看到一些文章说“ rebase ”,但无法理解其背后的逻辑。

最佳答案

理想情况下,您首先在更新版本的基础上对 dev 进行 rebase。

git checkout dev
git rebase release

这背后的逻辑是 Git 应该检测到 a3 和 a5 与 b1 和 b2 相同:这意味着 a3 和 a5 根本不会被重放。
新的开发分支(您将从中创建 PR)将不再有 a3 和 a5。

另见:

关于Git cherry pick 创建重复提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43084192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com