Git--commit提交压缩

本文介绍两种Git commit压缩方法:一种是通过IDE(如IntelliJ IDEA)实现;另一种是通过命令行实现。这两种方法均可帮助您整理历史提交记录,使项目历史更加整洁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git–commit提交压缩

第一种:通过编辑器IDE(亲测)

我使用的是idea,通过idea进行commit压缩。
第一步: 选择当前分支,然后查看版本控制(Version Control),展示出提交记录,比如,我在图中标注的七条提交记录,通过commit-message 可以清晰的看出来,1-2、3-4是同一类或者相同的提交。
第二步: 想压缩1-2的提交,可以右击1 提交,弹出功能框,如图二展示。
在这里插入图片描述
在这里插入图片描述
选择红框的选项(从当前位置开始进行Rebase)。
第三步: 点击该功能,弹出可进行压缩的commits.如图所示:
在这里插入图片描述

#功能解释
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message

第四步: 其中可选择功能,我们使用squash,基commit是pick,往下可选择为squash(使用提交,但合并到上一个提交中),所以要合并的commit之间不可有间隔commit,会导致混乱。
第五步: 添加新的commit-message。
在这里插入图片描述
第六步: 当需要压缩的commit 按照以上步骤完成之后,可以进行push,如果有,冲突,先进性merge再进行push.

注意: 在进行Rebase时,应避免 git fetch 合并代码操作,否则会导致之前的commit还会存在。如果发生这种情况,可通过在你想要压缩的第一个commit前一个提交,创建一个新的分支(Branch),在新分支上进行远程代码合并,合并完成之后,再把自己之前的提交进行 cherry-pick,然后再进行 Rebase

第二种:通过命令行(未使用)

第一步: 通过命令 git log 查看提交记录
在这里插入图片描述
第二步: 执行变基git rebase -i HEAD~<num> 或 git rebase -i <commit>
其中 num :是指从头部开始追溯n条记录; commit :是指 提交记录code,变基提交所在commit。
在这里插入图片描述
第三步: 执行命令之后进入到编辑模式,通过修改commit 中的动作,进行压缩。把 需要合并的pick改成squash

# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit

然后进行保存。push 之前,如果有冲突,先结解决冲突。

# 取消变基:
git rebase --abort
# 如果没有冲突打断变基的话,不用执行continue
git rebase --continue
# 操作完git push 后,会看到压缩情况的信息
git push -f origin branch_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值