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

将多个commit合并成一个commit并提交

0 Preface/foreword

1 压缩多个commit方法

1.1 git merge --squash

主分支:main

开发分支:test

当前在test分支提交了8个commits,功能已经开发完成,需要将test分支合并到main分支,但是不想在合并时候,看到有8个commits,而是指显示一个commit记录,即将test分支下的8个commits压缩成一个。

方法:在main分支使用如下命令:

git merge --squash test

此时,在main分支下会将test中的差异内容加入(类似git add),

需要手动git commit添加comment,

最后使用git push将代码同步到远程repository。

缺点:直接在目标分支提交commit,而不是合并方式。

1.2 git reset

1.3 git rebase

可以使用以下命令:

git rebase -i HEAD~n

n:表示从当前commit开始计算,计算到第一次提交的commit时候的数字。 

或者

git rebase -i lastCommitID

lastCommitID是n对应的commit ID上一个提交。(522c3

将需要压缩的commit,最前面用squash或者s。

修改第一条commit的comment。

1.4 GitLab在Web上操作方法

GitLab Web界面,在Merge request时候,有一个check box用于选择是否需要squash(当且仅当有多个commit才会有squash选项)。 

 

需要squash的原因如下

What's the process about collaboration among different teams using GitHub.

  • cannot push code into main before agreement by each team
  • create merge request/ pull request. etc...
  • review code, comment, reject...
  • branch commits should be squashed when merging into main, which will be easy for maintain.

http://www.mrgr.cn/news/61811.html

相关文章:

  • 无人机之多源信息融合算法篇
  • 才正式发布两个月GitHub高达星标29.7K!如果你想入门LLM大模型,那这就是最好的教程!
  • C#实现word和pdf格式互转
  • 从零学习大模型(五)-----提示学习(Prompt Engineering)
  • 牛客小白月赛103(A,B,C,D,E)(模拟,找规律,计算几何,思维)
  • 【脚本】B站视频AB复读
  • 探访宇树科技的G1人形机器人:未来消费级机器人的先驱
  • 闲一品交易平台:SpringBoot技术的新境界
  • Win7如何安装支持asp+mdb程序,安装配置IIS
  • [实时计算flink]安全访问最佳实践
  • 新版达梦数据库查看数据库版本信息id_code无法直接显示版本号
  • NewStarCTF2024-Week4-Web-WP
  • 关于我、重生到500年前凭借C语言改变世界科技vlog.12——深入理解指针(2)
  • 【原创分享】详述中间件的前世今生
  • 北斗短报文终端-全星魅北斗手持终端-北斗有源终端
  • 提升RAG系统的回答质量:PDF解析代码详解-PdfParser核心流程
  • ELK之路第三步——日志收集筛选logstash和filebeat
  • Java Lock/AQS ReentrantLock 源码
  • 3DDFA-V3——基于人脸分割几何信息指导下的三维人脸重建
  • IP-guard与Ping32文档加密解决方案对比,选择适合自己的解决方案
  • html设置颜色相关等样式,需要在js层传入相关颜色参数
  • 爬虫设计思路
  • SpringBoot框架:闲一品交易平台的新突破
  • SpringBoot框架:闲一品交易的新引擎
  • 数据结构:链表
  • 特征选择算法