git 合并多个 commit

git 合并多个 commit

使用命令

git rebase -i commit的hash值

步骤

最一开始是这样的 5 个 commit ,message 分别是 1 2 3 4 5
要合并的commit
我们想将 2 3 4 5 这 4 个合并

  1. 执行 git rebase -i 417b75258e088be649fad163701207049e11acbe 得到下图
    pick
  2. 把 pick 改为 s 或者 squash(具体 s 的含义看 Commands 中每一条的解释,已经很清楚了),怎么改看 vim 的用法( i 编辑, :wq 退出)
    修改
  3. 上述操作为将 3 4 5 的 commit 合并到 2 上,此时保存并退出得到如下界面,4 个 message 很清楚的展示出来,随便删其中的三条( dd 快捷键),保留一条作为合并后的 message ,也支持修改
    重写message
  4. 我是这么改的,改完保存退出
    在这里插入图片描述
  5. 此时修改成功了,2 3 4 5 成功被合并,并且 message 被修改为 2345,且 commit 的 hash 值是新的
    成功结果
  6. 如需要向远程仓库推,执行 git push -f 即可(git push -f 这条命令平时不要随便用)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值