【Git】合并多次commit提交

这篇具有很好参考价值的文章主要介绍了【Git】合并多次commit提交。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。



前言

在开发阶段,由于我们会频繁的修改代码,会存在多次提交同一个修改,如果我们不合并提交,在于其他人代码合并时,会存在大量的commit提交记录,不利于代码版本。主要用过两个主要命令,分别是git rebase 和git reset。


一、git rebase合并

  1. 切换分支
git branch
git checkout <分支名称>

git多次提交合并,CI/CD,git

  1. 检查代码是否干净
    如果不进行这一步,后边合并时将报错以下错误提示,可先用git status 查看是否有需要提交的文件,没有的话就用git stash
    git多次提交合并,CI/CD,git
    git多次提交合并,CI/CD,git
    git多次提交合并,CI/CD,git

  2. 查看commit提交日志,可以q退出

git log --oneline

git多次提交合并,CI/CD,git

  1. 合并分支
    这里的 n 表示最近的 n 个提交数量。如果想要合并所有的提交,则可以省略该参数。我们这里取2
git rebase -i HEAD~n 

git rebase会打开一个vim文本编辑器(需要会修改保存和退出),显示了最近的 n 个提交记录。每个提交前面都有一个 pick 关键字,表示保留该提交。若要合并两个相邻的提交,只需删除第二个提交之前的 pick 关键字,改为 squash 或 s。同样,若要合并更多的提交,只需按照上述操作修改对应的提交行。
git多次提交合并,CI/CD,git

  1. 修改状态
    详细查看第三步和第四部的截图,a463bad是最后一次提交,72615de是倒数第二次提交,我们的需求就是将a463bad合并至72615de,可进行如下修改。
    git多次提交合并,CI/CD,git

  2. 确认
    Esc如果无法退出到保存,可以Esc+鼠标左键。
    git多次提交合并,CI/CD,git
    wq保存并退出后,需要查看message,如果不想改可以继续wq
    git多次提交合并,CI/CD,git
    这里我们可以跟之前图片对照,可以发现1d6494d是合并2次commit的新提交,afc23f7是原来的倒数第三个提交。

  3. 提交到远程仓库

git push -f

二、git reset合并

git reset的本意是版本回退,回退时可以选择保留commit提交。我们基于git reset的作用,结合新建分支,可以实现多次commit提交的合并。这个不需要vim编辑,很少有冲突。

  1. 基于现在的banch新建分支
  2. 在新分支中打开git log
  3. 选择一个想要合并的版本进行reset
  4. 重新查看push内容,进行commit提交,这次提交将合并所有,推送至远程新分支
  5. 如有需要,现在可以删除旧分支使用新分支

git多次提交合并,CI/CD,git
git多次提交合并,CI/CD,git
git多次提交合并,CI/CD,git
git多次提交合并,CI/CD,git文章来源地址https://www.toymoban.com/news/detail-829808.html

到了这里,关于【Git】合并多次commit提交的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Git rebase合并多条提交记录commit。以及使用 git commit amend本地提交直接合并到远程已有commit的用法

    需求场景一 : 对某个小的功能点进行多次反复的修改提交,且已经提交到远程,导致commit记录过多,太过于杂乱无章,想要精简合并一些提交记录。 场景还原: 比如下图4个git commit记录,log1-log4,需要将他们合并成一个提交记录 解决方案: 要处理的是log1-log4 这四条commit记

    2024年02月08日
    浏览(56)
  • git合并指定commit——git合并某个特定的提交commit到指定的分支上

    git合并指定commit——git合并某个特定的提交commit到指定的分支上 1、应用场景: 在A分支上提交了一个commit,B分支也同样需要这个commit的代码,为了避免人工复制代码,可以用git的一些操作替代 2、操作步骤 1、在当前A分支(deploy/t),通过 git log 先找到A分支的commit代号( 简

    2023年04月08日
    浏览(69)
  • 【Git教程】(三)提交详解 —— add、commit、status、stach命令的说明,提交散列值与历史,多次提交及忽略 ~

    在Git 中,提交无疑是最重要的概念了。Git 管理的是软件版本,而版本库中的版本是以 提交 的形式保存的。某一次的提交的覆盖范围通常是整个项目,即通过一次提交,该项目中的每个文件就都被存进了版本库中。 下面,我们可以通过 git log --stat -1 命令来看一下提交中究竟

    2024年03月12日
    浏览(71)
  • git——合并分支commit记录 squash提交

         在公司和别人协同合作时,作为开发需要向架构或者负责人提交mr以合并代码,为了提高review效率,有些负责人会要求一个mr仅保留一条commit记录方便代码比对review的观看,但是开发常常是很多需求和bug混合着写,不可能每个分支都暂存一下去其他分支查看吧,因此总会

    2024年02月14日
    浏览(61)
  • git只合并某个分支某一次提交的commit

    今天遇到一个需求,因为业务原因,现已开发的部分功能,暂时不上线,只上线部分功能,但我们的所有功能都在同一个分支上,于是就需要把部分功能代码分离出来,一起来看看吧! 一、合并单个commit 首先,我们需要把 A 分支上提交的部分代码,放在 B 分支上 二、合并连

    2024年02月15日
    浏览(53)
  • 命令行--git--多次commit如何合并成一个commit

    参考:https://blog.csdn.net/qq_50652600/article/details/120800309 在我们平时开发中,我们提交代码免不了要和git打交道,那么我们肯定是先从预发分支上(公司一般都用pre命名,这里为了方便演示用master)上拉去最新的代码,然后自己在上面在切一个自己的功能分支(gongeng)进行开发。 如

    2024年02月11日
    浏览(43)
  • 功能点001: git多次commit如何合并成一个commit

    通过rebase实现多次commit如何合并成一个commit

    2024年02月07日
    浏览(38)
  • 【CI/CD】Git Flow 分支模型

    Git Flow 模型(本文所阐述的分支模型)构思于 2010 年,也就是 Git 诞生后不久,距今已有 10 多年。在这 10 多年中,Git Flow 在许多软件团队中大受欢迎。 在这 10 多年里,Git 本身已经风靡全球,而使用 Git 开发的最流行的软件类型也更多地转向了网络应用。网络应用通常是持续

    2024年02月13日
    浏览(43)
  • 【CI/CD】基于 Jenkins+Docker+Git 的简单 CI 流程实践(上)

    在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要。目前已经形成一套标准的流程,最重要的组成部分就是 持续集成 及 持续交付、部署 。在此,我们在京东云上以一个案例简单实践下 CI 流程。 1.1 CI/CD 持续集成 (Continuous Integration,

    2024年02月13日
    浏览(53)
  • 【git】CI/CD持续集成与部署C++示例

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍CI/CD持续集成与部署C++示例。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 CI/CD (持续集成/持续交付)是一种软件开发实践和方法论,旨在通过

    2024年01月19日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包