当前位置: 首页 >  技术宝典 >  git squash commits

git squash commits

导读:git squash commits.key words: git squash 删除 压缩 commit 提交.起因.在做新功能测试的时候在开发分支(branch dev)上创建了一个新的分支(branch.dev_experiment),在dev_experiment中做了很

git squash commits

key words: git squash 删除 压缩 commit 提交

起因

在做新功能测试的时候在开发分支(branch dev)上创建了一个新的分支(branch dev_experiment),在dev_experiment中做了很多尝试了,做了较多的提交,有些提交是中间过程,commit message也写的比较草率,不适合并入remote repo中,所以需要删除一些commit信息。
但是commit是不能删除的,只能压缩(squash)也就是,将多个commits合并成一个commit,这样提交记录就比较干净了。

用法

git rebase -i commit_hash^

NOTE: commit_hash^中的^用于指示是从该commit到HEAD

然后弹出编辑界面,如下。

pick 9ca62a2 commit_msg_xxxxxxxx
pick da462a1 commit_msg_yyyyyyyy
...
pick da462a1 commit_msg_zzzzzzzz

# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
# .       create a merge commit using the original merge commit's
# .       message (or the oneline, if no original merge commit was
# .       specified). Use -c <commit> to reword the commit message.

比如说我想将9ca62a2da462a1合并,那就要将pick da462a1 commit_msg_yyyyyyyy改成squash da462a1 commit_msg_yyyyyyyy.
NOTE: 都是向上合并的# s, squash <commit> = use commit, but meld into previous commit

内容
  • 绘画手残党的福音:涂鸦线稿秒变绝美图像
    绘画手残党的福音:涂鸦线稿秒变绝
    2023-12-08
    摘要: 涂鸦线稿秒变绝美图像,ControlNet-.Scribble2Img适配华为云ModelArts,提供更加便利
  • 线上服务器磁盘爆了,如何快速处理?
    线上服务器磁盘爆了,如何快速处理
    2023-12-08
    分享技术,用心生活.有一天突然收到预警短信,显示是服务器磁盘占用100% 心里一想这事大了,得赶紧处理啊!深一吸口气默念
  • 安全测试前置实践2-安全渗透测试
    安全测试前置实践2-安全渗透测试
    2023-12-04
    作者:京东物流 陈维.一、引言.本文我们将以围绕系统安全质量提升为目标,讲述在功能安全测试 &安全渗透测试上实践过程。.
  • 架构师日记-如何写的一手好代码
    架构师日记-如何写的一手好代码
    2023-12-06
    作者:京东零售 刘慧卿.一 前言.在日常工作中,我经常听到部分同学抱怨代码质量问题,潜台词是:“除了自己的代码,其他人写
  • 万字好文:大报文问题实战
    万字好文:大报文问题实战
    2023-12-02
    导读.大报文问题,在京东物流内较少出现,但每次出现往往是大事故,甚至导致上下游多个系统故障。大报文的背后,是不同商家业务
  • docker compose 快速安装 单机kafka版并且 持久化
    docker compose 快
    2023-12-05
    kafka 的业务场景不用多说了,耗时缓存队列,利用高吞吐以及队列模型实现 高并发情况下流量削峰,高流量的日志收集,都是