Git如何修改一个过去的Commit

这里写自定义目录标题

  • 一、若commit已提交gerrit但没有merge
  • 二、若commit未提交gerrit

一、若commit已提交gerrit但没有merge

1.将当前分支无关的工作状态进行暂存
git stash
注意:不要在执行这个语句之前就修改想要修改的文件,执行这个语句后会将过去Commit中修改的文件还原
2.将HEAD移动到需要修改的commit上
git rebase commit_id(前9位就行)^ --interactive
3.找到需要修改的 commit ,将首行的 pick 改成 edit 后保存
4.开始修改文件内容
5.将改动文件添加到残存
git add 文件路径
6.追加改动到提交
git commit --amend
7.移动HEAD 回到最新的commit
git rebase --continue
8.恢复之前的工作状态
git stash pop

二、若commit未提交gerrit

1.将此次commit修改的文件列表导出
git show --name-only commit_id
2.撤销此次commit,源文件不变
git reset --soft commit_id(要修改的commit_id的上一条)
3.开始修改文件内容
4.重新提交并commit

你可能感兴趣的:(辅助工具,git)