博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git 几个commit点合并成一个commit点
阅读量:5940 次
发布时间:2019-06-19

本文共 1386 字,大约阅读时间需要 4 分钟。

 在用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。

 

 

另外,rebase --abort 可以退出

---------------------
作者:Fishing_Fly
来源:CSDN
原文:https://blog.csdn.net/u013276277/article/details/82470177
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/FineDay/p/10905836.html

你可能感兴趣的文章
git 换行符问题,统一linux风格
查看>>
SQL on Linux Run on Docker
查看>>
C语言程序设计实践(OJ)-初识函数
查看>>
Spark机器学习9· 实时机器学习(scala with sbt)
查看>>
数据结构实践——队列数组
查看>>
从Demo到日千万PV,就是快! – 爱线下的上云实践
查看>>
Linux 时钟精度 与 PostgreSQL auto_explain (explain timing 时钟开销估算)
查看>>
架构师速成-架构目标之可用性
查看>>
云栖TechDay精华文章合集
查看>>
Java 深、浅克隆
查看>>
设计模式(八)之单例模式
查看>>
协同过滤算法 R/mapreduce/spark mllib多语言实现
查看>>
【云栖说第三期】发现大家对能模仿马云声音的ET有兴趣,我们找了阿里四位专家来聊聊ET背后的人工智能...
查看>>
在C#代码中应用Log4Net(一)简单使用Log4Net
查看>>
【目录】C#操作Excel组件Spire.XLS系列文章目录
查看>>
ORACLE关闭启动的诡异错误
查看>>
汇编语言--寄存器(cpu工作原理)
查看>>
【DataGuard】ORA-16014 and ORA-00312 Messages in Alert.log of Physical Standby
查看>>
MongoDB主从复制
查看>>
Node.js链式回调
查看>>