Git 图形化操作之合并提交记录

Git 图形化操作之合并提交记录

 

独立观察员 2020 年 9 月 24 日

 

前言:当我们使用 Git 时,有时会遇到刚提交推送完一次修改,发现漏了该某处,只好又提交推送一次,这样在提交记录中就会产生冗余信息。那么有没有方法能合并提交记录(推送过的)呢?答案自然是有的。不过,网上的方法几乎都是使用 Git 命令的方式来进行,各种 Rebase 什么的。由于本人平时都是直接使用 Git 图形界面工具(推荐 GitExtensions)来执行各种 Git 操作的,所以就想着这个操作应该也能在图形界面完成,经过实践,形成本文。

 

使用工具:TortoiseGitGitExtensions(可选) 

以下是具体步骤:

1、显示日志

在项目目录右键 –TortoiseGit– 显示日志:

 

2、合并提交记录

在日志界面选中多条提交记录,右键 — 压扁成一个提交:

 

弹出修改提交信息界面:

 

修改提交信息并提交:

 

成功:

 

提交记录已合并:

 

3、推送合并的提交

(可使用 TortoiseGit 直接推送,为了直观起见,这里使用 GitExtensions)

(注意:跟着本文操作的话,此节需看完再动手)

 

在项目文件夹右键 –“GitExt Open repository” 打开 GitExtensions 主界面:

 

在 GitExtensions 中,可以看到,远程仓库还是原先的三条提交记录,而本地仓库已经是刚才合并过的单条提交了:

 

现在我们就把本地仓库推送到远程仓库去,只要点击命令栏上的紫色向上的箭头,或者菜单栏 — 命令 — 推送,就能进行推送了:

 

推送界面(此处有坑):

 

结果(打脸了,竟然没成功):

 

看来要使用杀手锏了 —— 强制推送

需要先重新执行前面两节内容(如果你也掉坑的话),重新回到推送之前的状态,也就是本地提交已合并的状态。

然后在推送界面勾上 “强制推送”(不确定勾不勾 “替换跟踪参考” 有没有影响),在弹出如下提示时选否(待商榷),然后点击推送即可。

最终结果(成功):

 

这样就完成了我们合并提交记录的目的,祝大家生活愉快!

 

同步首发:http://dlgcy.com/git-gui-squash/

微信公众号

 

posted @ 2020-09-24 20:04  独立观察员  阅读(1357)  评论(0编辑  收藏  举报