我有两个非顺序提交 abc123 和 def456。
我想以满足以下要求的方式将它们挤压在一起,
git rebase -i
)。有没有办法实现这个目标?
如果您确实想以非交互方式执行此操作,假设这些提交是您分支上的最新提交,您可以执行以下操作,首先确保您的工作树是干净的:
git reset --soft HEAD~2
git commit -m "$(git log --reverse --oneline --format="%B" HEAD...@{1})"
这会将分支重置回您想要压缩的分支之前的提交,然后使用提交消息的串联来提交组合的更改。这是灵活的,所以
HEAD~n
返回 n 父母。
如果您的提交位于分支上除最新提交之外的任何地方,则这是不可能的。
相关问题:有没有办法以非交互方式压缩大量提交?