使用 git rebase 修改历史 commit 里的文件

1. 说明

需要修改某个历史提交记录里的文件,如:

DevTools

要修改的文件:

git show fdb367f

DevTools

将要修改 pkg/paginator/paginator.go 文件,删除块代码。

2. 开始 rebase

git rebase --interactive fdb367f^

注意最后面的 ^ ,意味着从这个 commit 开始。

将 fdb367f 的 pick 修改为 edit:

DevTools

然后保存退出。

此时进入 rebase 模式。

3. 添加修改文件

修改要提交的文件(此处略过)。

然后添加此文件:

git add pkg/paginator/paginator.go

最后使用 git status 查看状态:

DevTools

4. 提交修改

git commit --amend --no-edit

参数说明:

  • --amend 参数是指定提交到当前的 commit 。
  • --no-edit 是保持当前 commit 的 message

5. 结束 rebase

最后使用以下命令结束 rebase:

git rebase --continue

DevTools

可以看到重新回到 master 分支,修改完成。

6. 注意

rebase 后,自 fdb367f 后的 commit hash 都会发生变更。

参考

摈弃世俗浮躁,追求技术精湛
Summer
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!