首页 > 代码库 > git修改已提交commit的内容

git修改已提交commit的内容

假设我们需要修改倒数第三个commit的内容

1、首先调用`git rebase`

git rebase -i HEAD~3

此时会产生如下的提交列表

pick f7f3f6d changed my name a bit
pick 310154e updated README formatting and added blame
pick a5f4a0d added cat-file

# Rebase 710f0f8..a5f4a0d onto 710f0f8
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit‘s log message
#  x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out

当需要更新相应的commit时,就将commit序列号之前的pick改为edit(可一次将多个pick修改为edit)

退出编辑器,即处于该commit中

 

2、在对commit进行修改之后,进行正常的git add,最后调用

git commit --amend

以及

git rebase --continue

进入下一个需要edit的commit,如果有的话

 

3、重复步骤2,直到rebase完成

 

git修改已提交commit的内容