修改git历史合入记录的方法

第一步:git rebase -i HEAD~5
    注意:如果需要修改的commit在5步以内
第二步:将需要修改的commit所在的行前面的 pick 修改为edit或者e    
    注意:不修改内容,修改内容在第三步
第三步:git commit --amend
    注意:这个时候修改内容
第四步:git rebase --continue
    结果显示:
    $ git rebase --continue
    Successfully rebased and updated refs/heads/main.
第五步:git push -f
    结果显示:
    $ git push -f
    remote: Resolving deltas: 100% (5335/5335), done.
    remote: GitLab: You are not allowed to force push code to a protected branch on this project.
    To ssh://gitlab.XXX.git
     ! [remote rejected]     main -> main (pre-receive hook declined)
    error: 推送一些引用到 'ssh://git@gitlab.XXX.git' 失败

解决方法:

        点击  Setting->Repository 菜单

        然后选择 Protected branches 并点击后面的 Expand 按钮

        最后选择后面的Unprotect

修改后重新尝试:
$ git push -f
枚举对象中: 66548, 完成.
对象计数中: 100% (66548/66548), 完成.
使用 12 个线程进行压缩
压缩对象中: 100% (60634/60634), 完成.
写入对象中: 100% (66547/66547), 178.41 MiB | 573.00 KiB/s, 完成.
总共 66547 (差异 5335),复用 65364 (差异 4994)
remote: Resolving deltas: 100% (5335/5335), done.
remote: Checking connectivity: 66547, done.
To ssh://gitlab.XXX.git
 + f21a9627a...b0d125dee main -> main (forced update)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值