如果我们在推送一个分支进行审查后做了一些更改,然后注意到了一些小错误,比如注释拼写错误,然后对这些更改(或任何更改)进行推送。有没有可能将这两次(根据情况而定)的迭代合并成一个单独的迭代,以便进行审查。
我试图解决的问题是,当审查者查看代码并注意到两个迭代时,他们可能会尝试比较最后两个迭代,但它实际上应该是两个迭代组合在一起,然后与以前的迭代进行比较。
除了开发者的预防措施之外,Git是否提供了将连续推送合并为一个推送的选项。
发布于 2018-09-24 11:24:20
在没有git rebase或git merge --squash的情况下,您可以很容易地做到这一点。在下面的示例中,我已经压缩了最后两个提交。
如果您想从头开始编写新的提交消息,这就足够了:
git reset --soft HEAD~2 &&
git commit如果要使用现有提交消息的串联开始编辑新的提交消息(即,类似于pick/squash/squash/…/squash git rebase -i指令表),然后您需要提取这些消息并将它们传递给git commit
git reset --soft HEAD~2 &&
git commit --edit -m"$(git log --format=%B --reverse HEAD..HEAD@{1})"这两种方法都以相同的方式将最后两个提交压缩为一个新的提交。软重置只是将头重新指向您不想挤压的最后一次提交。无论是索引还是工作树都不会受到软重置的影响,从而使索引处于新提交所需的状态(即,它已经包含了即将“丢弃”的提交的所有更改)。
在您的情况下,根据您是想只放一篇评论,还是上传以供审查和提交,您可以选择。
https://stackoverflow.com/questions/52472233
复制相似问题