在用git做版本控制器的时候,经常会遇到以下情况:

1、在做1个功能的时候,你自己觉得代码没问题了,就本地commit,然后提交代码,在gitlab上发起和并请求,老大看完之后,觉得你还有修改的地方,把你的代码打回来重新修改,改完之后,本地commit,推到远程,再次发起合并。到此功能做完,但是做完之后发现,你的一个功能commit了两次,当然根据实际情况有些时候你为了做一个功能,来回不止两次,这样子的提交会让这个分支看起来有点杂乱。那么你会想要将你的几次commit合并成一个commit后,再提交,那样子分支看上去会非常清爽。

2、当你做功能的时候,你会遇到需要零时提交的情况(比如你在做A任务,突然来了B任务,在你A任务分支上你会先commit一次,等B任务做完,再回来继续做A,做完之后会再次commit),此时你的一个任务有会有多个commit存在。

本文的主要目的是教你怎样将git中多次commit合并成一个commit。

(1)git log看一下当前分支的提交情况,下图中有三个commit点。从先到后是:add 1 line,add 2 line, add 3 line。需求是:把add 2 line, add 3 line这两个commit点合并成一个commit点。

(2)开始合并,敲下面这个命令:这里面的commitId是你要合并的两个commit后所形成的一个commitId需要跟着的commitId。在这边也就是add 1 line的commitId.

git rebase -i commitId

其中,-i 的参数是不需要合并的 commit 的 hash 值,这里指的是第一条 commit, 接着我们就进入到 vi 的编辑模式

进入vi模式后,在键盘上敲i键进入insert模式。这时候先看看这里面的东西是什么含义,

  • pick 的意思是要会执行这个 commit
  • squash 的意思是这个 commit 会被合并到前一个commit

我们这边需要将"add 3 line"这个commit合并前前一个commit,也就是合并到“add 2 line”的commit中,那就需要修改成如下的:

修改完成后,按esc键,冒号,输入wq进行保存。之后会继续跳转到commit message 的编辑界面:

注释中有写第一个commit信息和第二个commit信息,现在需要你合并这两个信息成一个commit信息。我这边合并成如下信息:

然后你就保存退出,跳回到最初的命令界面:

看到successfully的字样就说明成功了。再git log看一下commit情况:

从图中就看到已经将add 2 line和add 3 line的commit合并成了this is combination of 2 commit。

git修改老旧commit message的方法

如果有对云原生和golang感兴趣的小伙伴可以关注我的公众号“云原生手记”,欢迎批评指正

git 几个commit点合并成一个commit点相关推荐

  1. 把多个不连续的commit合并成一个commit

    场景 1.多个commit是同一个功能(需求). 2.为了log信息更简洁. 3.代码管理更方便. 步骤 1.查看commit历史 2. 使用git rebase -i <需要合并的commit ...

  2. git 如何压缩多个commits 成一个commit

    在git进行项目版本管理时,经常会遇到如下的场景, 开发者针对feature/bugfix/ hotfix/refactoring进行开发时,在本地repo中进行了很多次commits,然而当当前开发 ...

  3. 这个神器竟然能分分钟将多个 kubeconfig 合并成一个!

    相信很多人都会经常部署不同的 Kubernetes 集群,也会经常删除不再使用的 Kubernetes 集群,如果要在本地通过 kubectl 客户端与集群进行交互,就需要不同的 kubeconfig ...

  4. python处理多个excel文件-python多个excel文件合并成一个sheet

    运营人员需要历年的订单数据,这就需要把多个文件夹下面的excel文件合并到一个sheet中,之前的解决的办法是用VBA把多个excel文件合并成一个表的多个sheet,再把多个sheet合并成一个sh ...

  5. 多个vue项目合并成一个_集美们,快看如何一步将多个PDF合并成一个PDF

    之前的推文有提到,如何将多幅图片从word中提取出来.今天我们就一起来康康如何快速将多个PDF合并成一个PDF吧! 首先,我们需要一个PDF阅读器,这个阅读器可以是Foxit PDF Editor,也 ...

  6. excel几个表合成一张_快速将多个excel表合并成一个excel表

    应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...

  7. 用python将指定目录下的所有json文件合并成一个csv文件

    #!/usr/bin/env python # -*- encoding: utf-8 -*-import sys import json import os import pandas as pd ...

  8. python合并txt文本_Python实现将目录中TXT合并成一个大TXT文件的方法

    本文实例讲述了Python实现将目录中TXT合并成一个大TXT文件的方法.分享给大家供大家参考.具体如下: 在网上下了一个dota的英雄攻略,TXT格式,每个英雄一个文件,看得疼,就写了一个小东西,合 ...

  9. java jar合并_多个jar包合并成一个jar包(ant)

    https://blog.csdn.net/gzl003csdn/article/details/53539133 多个jar包合并成一个jar 使用Apache的Ant是一个基于Java的生成工具. ...

最新文章

  1. MySQL数据库分页查询limit
  2. ie设置ActiveX控件不提示
  3. mysql的事物隔离级别
  4. ppt文件限打开次数_PPT冷知识25条!看到第一条我就翻了车…
  5. 支付宝会员卡开卡表单模板配置(alipay.marketing.card.formtemplate.set)JAVA版本demo
  6. Guava 是个风火轮之基础工具(4)
  7. 安卓系统分屏相关修改思路
  8. java.util.concurrent包(2)——线程池
  9. 跳出公式,看清全局,图神经网络(GCN)原理详解
  10. 穿越火线显示无法连接服务器,穿越火线无法连接服务器是什么原因
  11. 4400php兑换美金是多少,美金换算人民币怎么算(美金换人民币怎样计算)
  12. 技术干货:Linux Shell 编程基础,看这一篇就够了!
  13. Huilder连接Android逍遥模拟器
  14. 常见的10大超参数优化库
  15. sql joins 的7种方式
  16. 【数据分析学习笔记day09】数据分析实战案例:2016美国大选民意调查统计+2016年美国总统大选民意调查数据统计+示例代码1 +示例代码2:
  17. 使用nginx上传大文件报500异常处理
  18. if ‘youtube.com/‘ in url or ‘youtu.be/‘ in url:TypeError: argument of type ‘int‘ is not iterable
  19. USB device hot plug detection
  20. 千锋python培训费用具体是多少?

热门文章

  1. 大学英语四六级考试有什么备考技巧?
  2. (二)爬泰山,如人生 ---- 下山
  3. 笑口常开!2019年开发程序员的热门笑话榜
  4. 学习Vue3 第四章(模板语法 vue指令)
  5. bugku misc-where is falg 2
  6. 盒装数据:一种基于数据盒的数据产品形态
  7. 2021国考判断推理复习3个月计划
  8. 当企业衡量和评估私有云和公有云时,需要考虑哪些核心因素?
  9. 小程序wifi代理服务器,官方小程序:wifi一键连,亲测实用
  10. Flink流式计算从入门到实战 四