Cherry 如何在不提交的情况下使用 TortoiseGit 选择另一个分支的提交?

How can i Cherry pick a commit of another branch using TortoiseGit without committing?

我可以使用 bash

挑选一个提交
git cherry-pick -n <HASH>

但是有没有办法通过使用 TortoiseGit 来做到这一点?

检查您要在其上挑选提交的分支。然后

  • 打开日志对话框,
  • 滚动到提交(也许你必须在左下方 select "all branches" 或使用左上角的蓝色分支名称 select 源分支并过滤列表对于提交哈希),
  • 在提交时打开上下文菜单并
  • select "Cherry pick this commit...".

现在您基本上有两个选择,因为 -n 选项在 TortoiseGit 中不直接可用。

1) 将 cherry-pick 类型从 "Pick" 更改为 "Edit",启动 cherry-pick,然后选中 "Edit commit" 复选框,保持提交对话框打开,执行您的更改,然后提交并完成选择。

2) 完成樱桃采摘然后

  • 转到您的 HEAD 提交,
  • select 刚刚的 cherry picket 提交的父提交,
  • 并在上下文菜单中选择 "Reset",然后
  • select混合

比照。 https://tortoisegit.org/docs/tortoisegit/tgit-dug-cherrypick.html

假设您想从 devmaster 中挑选 Commit X。

  1. 右键单击存储库并 select TortoiseGit -> Switch/Checkout -> select master 然后按确定。
  2. 在存储库中右键单击 select TortoiseGit -> 浏览引用 -> 右键单击​​ dev -> 显示日志。
  3. 右键单击要 cherryp-pick 的提交,然后 select Cherry Pick this commit -> Continue。
  4. 由于 cherry-pick 菜单不支持选项 -n,我们可以混合重置回之前的提交来模拟 -n。 TortoiseGit -> 浏览参考 -> 右键单击​​ master -> 显示日志 -> 右键单击​​上一个提交 -> 将 "master" 重置为此... -> 按确定。