Sla*_*ion 20 git git-extensions
为了压缩多次提交,我一直使用:
git reset --soft HEAD~<number of commits to squash> && git commit
Run Code Online (Sandbox Code Playgroud)
但是我想知道是否有一个很好的方法可以在一个像git扩展这样的好git客户端中做到这一点?如果您可以选择连续提交并压缩它们会很酷.
Rus*_*Kie 34
您可以轻松地在GE中执行此操作:
(假设您使用的是 Windows)
是的,我相信TortoiseGit可以做到。作为 TortoiseSVN 的前用户,我会推荐它。查看提交日志时,您可以执行以下操作:
此外,当您使用 TortoiseGit提交时,您可以选择简单地修改之前的提交,这样您就可以随时进行。当您执行此操作时,它还会拉入最后一次提交消息(我在屏幕截图中出于隐私原因清除了我的)。
当然,我相信你已经知道这一点,但不要试图合并或修改已经推送到远程的提交,否则你的下一次推送将失败。
作为额外的好处,在资源管理器中浏览您的工作副本时,您将获得覆盖图标的好处。
你可以通过2种方式使用GitExtensions轻松实现这一目标.
第一种是完全相同的事情,但是当你不想使用你所观看的提交的现有提交消息时,从GUI适用..
git reset --soft HEAD~<number of commits to squash>
Run Code Online (Sandbox Code Playgroud)
在GitExtensions的历史浏览器中,右键单击要保留的最后一次提交,然后选择"将分支重置为此处".然后选择"软"选项.
git commit
Run Code Online (Sandbox Code Playgroud)
然后提交仍处于暂存状态的更改.
所述第二是将"变基--interactive":
右键单击上面描述的相同提交,然后选择'rebase on'.在弹出窗口中选中"交互式"复选框.
然后,在编辑器中,将提交操作设置为"squash".在执行之前,请阅读有关交互式rebase的详细文档.当您想要编写一个良好的提交消息时,此解决方案是完美的,该提交消息是根据您正在压缩的提交的提交消息构建的.