Git:合并多个commit 的高级技巧

前言

在我们的日常项目开发中,git commit -m 无疑是使用最频繁的指令,这也造成了大量的commit 在我们的分支上。这样常常会带来分支过长、版本过多的问题。

正文

想要解决这个问题,我们通常会对commit 进行合并。

当我们发现两个commit 或多个commit 存在很强的关联性、并且几个commit 加起来也可以成为一个完整的描述的时候,就可以对这些commit 进行合并。

实操

先用git log 查看一下历史。

image.png

比如这里有4 条commit 记录,我们想把前两条合并。

我们应该复制第三条commit 的id(从上至下),然后使用命令git rebase -i id(44c29…)

这次就会进入编辑commit 界面

image.png

上方是选中的两次commit ,下方是各种操作的指令,按i 进行编辑模式。
这里我们需要将红色区域的第二个pick 改为 s,意为向上保存

image.png

按下 ESC 键退出编辑模式,按下 :wq 保存退出,我们的commit 就算合并好了,进入预览界面。此时再次保存退出就好了。

image.png

到这步就将两次commit 合并成功了!

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/7634

赞 (0)
郭靖的头像郭靖
上一篇 2023年3月15日 下午4:21
下一篇 2023年3月16日 下午4:41

相关推荐

  • Linux JumpServer 堡垒机远程访问

    前言JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计,满足等保合规要求。 下面介绍如何简单设置即可使本地jump server 结合cpolar 内网穿透实现远程访问jump server 管理界面. 安装环境后.使用…

    2023年12月20日
    1.6K00
  • 如何修复Linux系统中已知的系统软件缺陷?

    Linux操作系统的ECS实例某些业务运行异常问题,是由Linux操作系统本身已知的系统软件缺陷导致,若您的ECS实例的操作系统不是最新版本,可以尝试通过手动升级ECS实例的操作系统软件包来修复。 当前已知的Linux系统软件缺陷如下: 可通过升级操作系统中软件解决的Linux ECS实例问题 在CentOS或RHEL 7实例上,启动某个服务或进程时提示端口…

    2023年11月14日
    1.7K00
  • 实验案例:LVM卷管理及配额设置

    实验环境 公司准备在Internet中搭建FTP服务器(CentOS 7.3 系统平台),面向全国各地的员工及部分VIP客户提供资料上传下载的空间。考虑动态扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到/date目录下)专门用于存放电子邮件数据,并通过磁盘配额的方式限制用户的电子邮箱空间。 需求描述 采用LVM磁盘管理方案:添加两块SCSI硬…

    2024年6月25日
    2.2K00
  • linux双向重定向之tee命令

    tee的作用是将一份标准输入多重定向,一份重定向到标准输出/dev/stdout,然后还将标准输入重定向到每个文件FILE中。 在执行Linux命令时,我们可以把输出重定向到文件中,比如 ls >rumenz.txt,这时不能看到输出了,如果我们既想把输出保存到文件中,又想在屏幕上看到输出内容,就可以使用tee命令了. tee流程示意图 命令语法 > tee…

    2023年9月20日
    1.5K00
  • Linux缓冲区的理解

    一、FIFE 可以看到对过程重定向后结果发生了改变,C接口的函数printf,fprintf,fputs都被打印了两次;而系统接口write前后只被打印了一次,为什么呢?肯定和fork有关! fork会创建子进程。在创建子进程的时候,数据会被处理成两份,父子进程发生写时拷贝,我们进行printf调用数据的时候,数据写到显示器外设上,就不属于父进程了,数据没被…

    2023年4月10日
    1.6K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信