Git 樱桃选择创建重复提交



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

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

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

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

版本: A1, A2

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

版本: a1,

a2, b1, b2.

稍后,如果我尝试创建从 Dev 到发布分支的拉取请求,我会看到提交 a3 和 a5。

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

我看到一些文章说"变基",但无法理解其背后的逻辑。

理想情况下,您首先在更新的版本上重新设置开发基础。

git checkout dev
git rebase release

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

另请参阅:

  • " git cherry-pickgit merge:避免重复提交">
  • "使用 git rebase 删除重复的精选提交">

相关内容

  • 没有找到相关文章

最新更新