Gitcherry-pick - 如何在不实际执行任何操作的情况下显示更改

mik*_*kom 7 git cherry-pick git-cherry-pick

在实际执行任何操作之前,有什么方法可以显示“gitcherry-pick”将应用的更改吗?

我希望看到“git diff”类型的更改列表,这些更改将由命令完成,而无需实际进行更改或修改任何内容。

Rom*_*eri 8

git cherry-pick没有--dry-run像其他命令那样的选项。

-n然而,虽然不完全符合您的要求,但您可以通过利用( --no-commit) 选项来测试它。

回滚将是微不足道的:

(假设您从一个干净的工作树开始)

# cherry-pick without actually committing
git cherry-pick -n <commit>

# inspect changes
git diff --staged

# wipe all these temporary changes to go back to where you started
git reset --hard
Run Code Online (Sandbox Code Playgroud)

  • 事实证明(至少对于 git 版本“2.39.1”)根本不需要“git reset --hard”执行;`gitcherry-pick --abort` 将恢复到 `gitcherry-pick -n &lt;commit&gt;` 执行之前的状态。 (2认同)

Jim*_*san 0

我相信你可以在分支上的最后一次提交和你想要挑选的提交之间进行 git diff,如下所示:

git diff [最后提交哈希] [樱桃挑选提交哈希]