Git 图形化操作之合并提交记录
前言:当我们使用 Git 时,有时会遇到刚提交推送完一次修改,发现漏了该某处,只好又提交推送一次,这样在提交记录中就会产生冗余信息。那么有没有方法能合并提交记录(推送过的)呢?答案自然是有的。不过,网上的方法几乎都是使用 Git 命令的方式来进行,各种 Rebase 什么的。由于本人平时都是直接使用 Git 图形界面工具(推荐 GitExtensions)来执行各种 Git 操作的,所以就想着这个操作应该也能在图形界面完成,经过实践,形成本文。
使用工具:TortoiseGit、GitExtensions(可选)
以下是具体步骤:
1、显示日志
在项目目录右键 –TortoiseGit– 显示日志:
2、合并提交记录
在日志界面选中多条提交记录,右键 — 压扁成一个提交:
弹出修改提交信息界面:
修改提交信息并提交:
成功:
提交记录已合并:
3、推送合并的提交
(可使用 TortoiseGit 直接推送,为了直观起见,这里使用 GitExtensions)
(注意:跟着本文操作的话,此节需看完再动手)
在项目文件夹右键 –“GitExt Open repository” 打开 GitExtensions 主界面:
在 GitExtensions 中,可以看到,远程仓库还是原先的三条提交记录,而本地仓库已经是刚才合并过的单条提交了:
现在我们就把本地仓库推送到远程仓库去,只要点击命令栏上的紫色向上的箭头,或者菜单栏 — 命令 — 推送,就能进行推送了:
推送界面(此处有坑):
结果(打脸了,竟然没成功):
看来要使用杀手锏了 —— 强制推送。
需要先重新执行前面两节内容(如果你也掉坑的话),重新回到推送之前的状态,也就是本地提交已合并的状态。
然后在推送界面勾上 “强制推送”(不确定勾不勾 “替换跟踪参考” 有没有影响),在弹出如下提示时选否(待商榷),然后点击推送即可。
最终结果(成功):
这样就完成了我们合并提交记录的目的,祝大家生活愉快!
同步首发:http://dlgcy.com/git-gui-squash/