【发布时间】:2020-09-21 05:54:08
【问题描述】:
我看到你可以使用git rebase -i HEAD~3 来处理最新的 3 次提交。有没有办法在不手动检查所有提交并指定 squash 之前简单地压缩每个提交,例如最近的 3 个提交?
对于上下文,我从一个分支 (originalBranch) 创建了一个分支 (testBranch)。我做了一堆提交,现在我想把这个分支合并到主分支。问题是,我有来自 originalBranch 的所有提交。
我什至尝试通过执行git rebase -i HEAD~70 进行变基(是的,在 originalBranch 中有很多提交),并像这样编辑文件:
r 14133a8 first commit message in originalBranch
s 3cb3a90 message2
s ea61cc4 message3
# ... etc
#commits from testBranch. These should remain after rebase
p a62bff7 first commit message in testBranch
p 4364e1f last commit message in testBranch
我虽然 originalBranch 中的所有内容都会压缩成一条消息,但是当我这样做时会遇到文件冲突。我怎样才能简单地将 originalBranch 中的每个提交压缩为 1 条提交消息,同时保留来自 testBranch 的提交消息,而不会发生文件冲突?
【问题讨论】: