当前位置:首页 > 开发工具 > git多个提交合并为一个commit

git多个提交合并为一个commit

2022年09月17日 20:59:48开发工具6

git rebase

在使用git做版本管理器的时候,有时候需要将多个commit合并成一个commit,因此这里记录下具体的操作方法,便于查阅。

下面的例子,将add1、add2、add3、add4这4个commit合并成1个commit,具体步骤如下:

  1. 查看当前的提交信息

    执行命令:git log,可以查看当前的一些提交信息,这些提交按照时间先后顺序为:add1、add2、add3、add4
    git多个提交合并为一个commit _ JavaClub全栈架构师技术笔记

  2. 合并多个commit

    执行命令:

    git rebase -i commit_id
    

    这里的commit_id是待合并的多个commit之前的那个commit ID,这里也就是最下面那个add1的commit ID。

    在我这里也就是执行命令:git rebase -i 727c14cd391a7ed88aefee,执行完命令后就进入到vi的编辑模式:
    git多个提交合并为一个commit _ JavaClub全栈架构师技术笔记
    上图中,pick表示使用当前的commit,squash表示这个commit会被合并到前一个 commit。
    我们这里需要将add4、add3、add2,合并到add1中,因为add1是最靠近上一个commit_id的,因此这里选择将add4,add3,add2合并到add1中。
    在键盘上敲i键进入insert模式,然后将add4,add3,add2前面的pick修改成squash:

    git多个提交合并为一个commit _ JavaClub全栈架构师技术笔记

    修改完成后,按esc键,冒号,输入wq进行保存。之后会继续跳转到commit message 的编辑界面:
    git多个提交合并为一个commit _ JavaClub全栈架构师技术笔记
    将上图中画线的内容删掉或者注释,然后写一个新的commit信息作为这4个commit的log信息,我这里的新的信息为:add1、add2、add3、add4,如下图所示:
    git多个提交合并为一个commit _ JavaClub全栈架构师技术笔记
    然后保存退出,就会跳转到最初的命令界面:
    git多个提交合并为一个commit _ JavaClub全栈架构师技术笔记

    Successfully表示操作成功。

  3. 查看新的commit信息

    执行命令:git log,查看当前的commit信息:
    git多个提交合并为一个commit _ JavaClub全栈架构师技术笔记
    从上图中,可以看到,我这里已经将add1、add2、add3、add4这4个commit合并成1个新的commit。

作者:帅气的Lucky
来源链接:https://www.cnblogs.com/xialigang/p/15672681.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/tool/42784.html

标签: Git合并
分享给朋友:

“git多个提交合并为一个commit” 的相关文章

远程仓库都不知道,那你学Git干嘛?

远程仓库都不知道,那你学Git干嘛?

目录 远程仓库 1.添加远程库 2.SSH警告 3.从远程库...

GitHub的注册与使用

GitHub的注册与使用

目录 一、gihub账号注册与仓库创建 1.注册 2. 初始设置 3.验证账号 4.发现邮箱地址未验证,登录你注册时的邮箱,验证 5.新...

成功解决|解决 git 拉取失败 报 unable to update local ref

成功解决|解决 git 拉取失败 报 unable to update local ref

三行命令解决 切到项目根目录: 1.git gc --prune=now 2.git remote prune origin 3.git pull 结束 福利大放送 关注微信公众号“AI码师”,领取面试资料和最新全套微服务教程...

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerCard+redis\target\gameCard-1.0-SNAPSHOT\WEB-INF\classes\cn\jbit\dao

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerCard+redis\target\gameCard-1.0-SNAPSHOT\WEB-INF\classes\cn\jbit\dao

错误信息: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cardSalDao' defined in file [E:\GItUp\pointerC...

一个项目多个git仓库

需求: 公司的git不好随便提交,所以需要一个自己的git,方便家里和公司同步。 1.取出项目 2.建立自己的仓库,我使用的是gitee 3.本地项目增加gitee仓库(空的仓库)git remote add XXX(别名...

如何将idea项目上传到Git

如何将idea项目上传到Git

Git是一款免费的分布式版本控制工具。每个人的电脑都是一个完整的版本库,那么我们该如何将一个java项目上传到Git呢? 一、准备工作 1、Git下载及安装 https://jingyan.baidu.com/article/7f766dafba84f04101...

Windows下本地安装git客户端

Windows下本地安装git客户端

转载自:   《 Windows下本地git服务器端安装图文教程 》       关于git     分布式:Git版本控制系统是一个分布式的系统,是...

【git】warning: adding embedded git repository

warning: adding embedded git repository: git/.... 当前目录下面有.git文件夹------默认是隐藏的,直接将.git文件夹掉,再重新git add . 则不再有报警提示,按正常的上传步骤上传代码即可。 作...

git重新设置账户和密码

git重新设置账户和密码 **清空所有用户名和密码(cmd以管理员身份运行):git config --system --unset credential.helper git config...

“git pull”如何强制覆盖本地文件?

git pull 强制覆盖本地的代码方式,下面是正确的方法: git fetch --all 然后,你有两个选择: git reset --hard origin/master 或者如果你在其他分支上: git reset --hard origin...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。