如何以非交互方式压缩两个特定提交?

问题描述 投票:0回答:1

我有两个非顺序提交 abc123def456
我想以满足以下要求的方式将它们挤压在一起,

  • 他们的原始提交消息仍然可重用。
  • 以非交互方式完成(没有
    git rebase -i
    )。

有没有办法实现这个目标?

git version-control
1个回答
0
投票

如果您确实想以非交互方式执行此操作,假设这些提交是您分支上的最新提交,您可以执行以下操作,首先确保您的工作树是干净的:

git reset --soft HEAD~2
git commit -m "$(git log --reverse --oneline --format="%B" HEAD...@{1})"

这会将分支重置回您想要压缩的分支之前的提交,然后使用提交消息的串联来提交组合的更改。这是灵活的,所以

HEAD~n
返回 n 父母。

如果您的提交位于分支上除最新提交之外的任何地方,则这是不可能的。

相关问题:有没有办法以非交互方式压缩大量提交?

© www.soinside.com 2019 - 2024. All rights reserved.