当前位置: 首页 > article >正文

Git合并多次提交,改成一个简洁的提交历史

文章目录

    • 前言
    • 步骤

前言

在 Git 中,commit 太多可能会让历史记录变得杂乱,但是如果不想影响最终的代码,有几种方法可以“清理”历史记录,确保最终的代码保持不变。你可以使用 rebase 来重新整理提交历史,合并多次提交成一个简洁的提交。

步骤

  1. 查看提交历史
git log --oneline
  1. 启动交互式 rebase:假设你想要重新整理最近的 5 次提交
git rebase -i HEAD~5
  1. 编辑提交历史
    在编辑器中,你会看到类似如下内容
pick a1b2c3d commit message 1
pick e4f5g6h commit message 2
pick i7j8k9l commit message 3
pick m0n1o2p commit message 4
pick q3r4s5t commit message 5

将所有 pick 改成 squash(简称 s),除了第一个提交

pick a1b2c3d commit message 1
squash e4f5g6h commit message 2
squash i7j8k9l commit message 3
squash m0n1o2p commit message 4
squash q3r4s5t commit message 5
  1. 保存并关闭编辑器:保存文件并关闭编辑器。Git 会将这 5 次提交合并为一个提交。
  2. 编辑合并后的提交信息:你会被提示编辑合并后的提交信息。在这里,你可以提供一个简洁的、描述最终代码的提交信息。保存并关闭编辑器。
  3. 完成 rebase:完成后,Git 会自动合并提交并更新历史记录。
  4. 推送更改(如果需要):如果已经推送过原来的提交到远程仓库,并且希望修改远程提交,可以强制推送
    强制推送可能会覆盖远程仓库的历史,确保与团队成员协作时谨慎使用
git push --force

http://www.kler.cn/a/511891.html

相关文章:

  • 当PHP遇上区块链:一场奇妙的技术之旅
  • JS基础(5):运算符和语句
  • “libcudart,so.1 1.0“ loss解决方案
  • 封装Redis工具类
  • 口令攻击和钓鱼攻击
  • 19. C语言 共用体(Union)详解
  • K8S中Pod控制器之ReplicaSet(RS)控制器
  • android 开发中遇到的小问题整理
  • Android平台如何采集屏幕数据并推送RTMP服务器实现无纸化同屏?
  • 项目实战--网页五子棋(游戏大厅)(3)
  • 如何使用 Redis 作为高效缓存
  • 在swiper中显示echarts图表,echarts的点击事件无效,图例点击也没有反应
  • Maven 快速上手
  • [2025分类时序异常检测指标R-AUC与VUS]
  • Spring Boot依赖管理:Maven与Gradle实战对比
  • NPM 下载依赖超时:npm ERR! RequestError: connect ETIMEDOUT
  • Tensor 基本操作1 | PyTorch 深度学习实战
  • 【Rust自学】13.9. 使用闭包和迭代器改进IO项目
  • 无监督<视觉-语言>模型中的跨模态对齐
  • vue按照官网设置自动导入后ElMessageBox不生效问题
  • 从零开始:Spring Boot核心概念与架构解析
  • springboot迅捷外卖配送系统
  • STM32CubeIDE使用笔记(一)
  • 【Spring】原型 Bean 被固定
  • 【25】Word:林涵-科普文章❗
  • yum和vim的使用