git合并多个commit
在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。
一、查看提交历史–git log
首先你要知道自己想合并的是哪几个提交,可以使用git log命令来查看提交历史,假如最近4条历史如下:
commit 3ca6ec340edc66df13423f36f52919dfa3......commit 1b4056686d1b494a5c86757f9eaed844......commit 53f244ac8730d33b353bee3b24210b07......commit 3a4226b4a0b6fa68783b07f1cee7b688.......
历史记录是按照时间排序的,时间近的排在前面。
二、git rebase
想要合并1-3条,有两个方法
2.1 从HEAD版本开始往过去数3个版本
git rebase -i HEAD~3
2.2 指名要合并的版本之前的版本号
git rebase -i 3a4226b
请注意3a4226b这个版本是不参与合并的,可以把它当做一个坐标
三、选取要合并的提交
3.1 执行了rebase命令之后,会弹出一个窗口,头几行如下:
pick 3ca6ec3 '注释**********'pick 1b40566 '注释*********'pick 53f244a '注释**********'
3.2 将pick改为squash或者s,之后保存并关闭文本编辑窗口即可。改完之后文本内容如下:
pick 3ca6ec3 '注释**********'s 1b40566 '注释*********'s 53f244a '注释**********'
- pick 的意思是要会执行这个 commit
- squash 的意思是这个 commit 会被合并到前一个commit
3.3 然后保存退出,Git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:
git add . git rebase --continue
如果你想放弃这次压缩的话,执行以下命令:
git rebase --abort
3.4 如果没有冲突,或者冲突已经解决,则会出现如下的编辑窗口:
# This is a combination of 4 commits.
#The first commit’s message is:
注释......
# The 2nd commit’s message is:
注释......
# The 3rd commit’s message is:
注释......
# Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.
3.5 输入wq保存并推出, 再次输入git log查看 commit 历史信息,你会发现这两个 commit 已经合并了。
原文链接:https://segmentfault.com/a/1190000007748862
git合并多个commit相关推荐
- git合并多个commit成为一个commit
git合并多个commit成为一个commit 在git使用中,可能会在合并代码的时候有大量的commit,如何能在合并分支的时候将许多commit转化为1个commit呢,可以使用以下命令: git ...
- Git合并最近的commit
合并commit的做法一般用在pull request的时候,把开发同一功能时的所有琐碎的commit合并到一个(假装自己的代码是高质量代码(手动滑稽)).主要使用的命令是git rebase 或者g ...
- IDEA中Git合并冲突
1.美图 2.背景 IDEA中Git合并冲突 先commit本地修改的文件到本地repository pull源码,因为存在代码冲突,所以接下来会自动弹出merge融合窗口,如下图:
- Git : 合并 commit 保持分支干净整洁
本文的读者需要已经了解 基本的 Git 操作和开发流程. 在我们开发完分支后,一般分支上会有很多 commit -- 少不了诸如 "fix typo", "sth wro ...
- IDEA GIT 合并commit
步骤 前提:当前分支在对应commit所在的分支下 打开IDEA的GIT侧边栏,左侧选择本地的分支或者远端的分支,中间将展示提交的commit,右侧将出现每一个commit对应的修改文件 选择要合并的 ...
- GIT合并特定commit
Git合并特定commits 到另一个分支 标签: gitmerge合并特定commit单个commit 2014-12-25 14:13 21570人阅读 评论(4) 收藏 举报 分类: Git(1 ...
- git 几个commit点合并成一个commit点
在用git做版本控制器的时候,经常会遇到以下情况: 1.在做1个功能的时候,你自己觉得代码没问题了,就本地commit,然后提交代码,在gitlab上发起和并请求,老大看完之后,觉得你还有修改的地方, ...
- Git合并和变基简介:它们是什么,以及如何使用它们
by Vali Shah 通过瓦利沙阿 Git合并和Git变基简介:它们做什么以及何时使用它们 (An Introduction to Git Merge and Git Rebase: What T ...
- 简单介绍Git合并分支的流程步骤
这篇文章主要介绍了详解Git合并分支的流程步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 正常合并分支dev到master流 ...
最新文章
- 数据中心柴油发电机系统的使用和维护
- Android系统自带样式(@android:style/)
- i5 11300h和R5 5600H 参数对比哪个好
- 创建数据库连接字符串的快截方法
- linux 目录大小是12288,为什么有些目录数的引用超过3,为什么很多目录的大小都是4096...
- 任给十进制整数,请从低位到高位……
- 设计模式 生成器_生成器设计模式的应用
- 京东php asp,jd jd demo 关于php的代码里面是 一些京东的接口 包含了 重要 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...
- ubuntu18安装sublime
- 第十一节(单例模式初步、类的继承)
- 《Cisco安全防火墙服务模块(FWSM)解决方案》——2.7 软件架构
- 竞价广告系统-广告网络
- 投影查询(2020-3-13)
- linux中定义用户账户的文件为,Linux中用户和组中认证库和解析库的文件格式以及默认参数定义文件...
- H5调用摄像头扫码详解
- 如何使用计算机勾绘汇水面积,水文计算算例
- Linux快速入门教程
- 安卓ADB和Fastboot最新官方下载链接
- java 网站微信登录_网站微信授权登录-JAVA版
- 蓝桥杯 调和级数 Java
热门文章
- python点的作用-一分钟了解Python中“*”的作用
- 21天学通python电子版-小数据池,深浅拷贝,集合+菜中菜
- python与excel的差别-python数据分析相对于bi和excel的优势是什么?
- python是什么公司开发的软件-python适合开发桌面软件吗?
- python面向对象编程的优点-Python面向对象编程 一
- python常用知识点总结-Python常用知识点汇总
- python语言特点有哪些-python语言的有何特点?
- python是什么编程教程-编程零基础应当如何开始学习 Python?
- lidar激光雷达介绍,以及使用激光雷达数据通过深度学习做目标检测
- java actor_Akka笔记之Actor简介