【Git】修改历史提交记录中的代码内容

提交代码到服务器需要评审,但是评审过程很慢,期间本地代码需要继续开发,继续提交到本地仓库。也不能干等着,也不好老是麻烦别人给评审,那本地先提交着,等评审过了再继续提交本地仓库里面的下一个commit,提交某一个commit的指令为:

git push origin e5333babc5604134f80a4befcba56859b0c293ab:refs/for/remote_branch

但是问题是如果评审没过的话,就要对之前的那个 commit 进行修复,我的做法可能比较笨,但是也可用。

1、基于当前工作分支 dev 创建一个新的分支 dev_tmp

        git co -b dev_tmp

2、切换到 dev_tmp 分支并回退到需要进行修改的commit

        git reset --hard xxxx

3、修改代码,提交到当前commit

        git commit --amend

4、切换到dev 分支,然后rebase dev_tmp 分支

        git rebase dev_tmp

5、解决存在的conflict,添加解决了冲突的文件,继续rebase操作。(注意只修改冲突部分,别修改其它的内容)

        git add xxx

        git rebase --continue

6、完成所有的rebase操作之后就可以了。(可能需要git rebase -i xxx 进行squash操作,合并重复的commit)

笨,直接git rebase -i commit_id_before_the_one_needs_for_modification,然后将要修改的commit的状态改成edit,其它的commit保持pick状态(或者如有commit的comment需要修改的话,改成reword),然后修改代码之后进行git commit --amend,然后git rebase --continue。

        

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值