Sri*_*Sri 4 git github git-cherry-pick
在从一个分支到另一个分支挑选一些提交之后,我仍然会在稍后创建拉取请求时看到提交。
比如说,有一个 git 项目,它有两个分支: Dev , Release 。
并且提交历史按以下顺序排列。
DEV : a1, a2, a3, a4, a5, a6
释放:a1,a2
现在,如果我单独从 Dev 到 Release 挑选提交 a3 和 a5。现在提交历史将如下所示。精选的提交将具有新的 SHA(b1 和 b2)。
释放:a1、a2、b1、b2。
稍后,如果我尝试创建从 Dev 到 Release 分支的拉取请求,我仍然会看到提交 a3 和 a5。
但是在这种情况下,我如何才能找到这两个分支之间提交的差异?
我看到一些文章说“rebase”,但无法理解其背后的逻辑。
理想情况下,您首先在更新版本的基础上重新构建 dev。
git checkout dev
git rebase release
Run Code Online (Sandbox Code Playgroud)
这背后的逻辑是 Git 应该检测到 a3 和 a5 与 b1 和 b2 相同:这意味着根本不会重放 a3 和 a5。
新的 dev 分支(您将从中创建 PR)将不再有 a3 和 a5。
也可以看看:
| 归档时间: |
|
| 查看次数: |
3517 次 |
| 最近记录: |