git修改之前某次commit内容

参考:csdn文章

背景

  1. 正在一个功能分支上开发,提交了一个commit A之后,又提交了很多个commit,现在想回头修改这个commit A
  2. 将 A 功能从 branchA 合入到主分支 master 后过了很多个提交后,发现 A 功能某个地方有 bug,最好的方法就是跳回到写 A 功能的时候进行修改。

步骤

其实可以修改之前commit的内容和日志,日志的话只需要使用git rebase然后选择reword即可,这里主要讲解如何修改这个commit的内容

暂存当前工作

我在开发某个东西,突然想到之前commit有bug,这个时候我的工作区肯定是有东西修改但没提交的,所以此时使用git stash暂存起来

找到当前commit的hash

使用git log,如下:

4fd65115db FUNCTION Mipi Camera Camera IC: OV13850 Interface: RX1
97a8ad0f7f FUNCTION 移植 8Mipi LCD Driver IC: RM72014
9633cf0919 FUNCTION 移植 8TP Driver IC:GT911

我现在发现当时移植 TP 的时候有 bug,我需要回到 9633cf0919 对进行 TP 进行移植的时候来修复这个 Bug。

使用git rebase

  1. 使用如下命令进入rebase交互界面:
    git rebase 9633cf0919^ -i
    
    其中9633cf0919^的^表示9633cf0919这个commit的上一次提交
  2. 找到需要修改的commit:9633cf0919,将默认的pick改成edit
  3. 然后就可以以平常的方式修改你的bug了
  4. 修改后使用git add 将改动文件添加到暂存
  5. 使用git commit -amend追加改动到提交
  6. git rebase --continue移动当前指针HEAD回最新的commit
  7. 然后使用git stash pop恢复之前的开发上下文
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值