目录

修改历史提交

修改最近一条提交记录

未 push 的提交

git commit --amend -m "New commit message."

已 push 的提交

除了上述 --amend 命令以外,还需要强制 push 到服务器。

git commit --amend -m "New commit message."
git push --force <remoteName> <branchName>

批量修改历史提交记录

其实,最常见的问题还是老的提交,而且,不是一条,这种情况下操作比较繁琐,还好可以扭转过来。

使用 git rebase -i HEAD~N 命令就可以了,N代表了倒数第几条。

比如需要修改 3 条记录:

git rebase -i HEAD~3

此时,会出现最近的 3 条提交记录:

pick 86592e1 format res files, optimize driver.go
pick 2bdbeda modify README, optimize code
pick d94c4e9 modify README, fix s7Client nil issue

# Rebase 25ced4e..d94c4e9 onto 25ced4e (3 commands)

如果修改第 3 条记录,将 pick 改成 reword:

pick 86592e1 format res files, optimize driver.go
pick 2bdbeda modify README, optimize code
reword d94c4e9 modify README, fix s7Client nil issue

# Rebase 25ced4e..d94c4e9 onto 25ced4e (3 commands)

保存,退出时,提示修改:

modify README, fix s7Client nil issue

Signed-off-by: Jieke Choo <jiekechoo@yiqisoft.cn>

修改完成,保存退出即可。

最后,强制 push:

git push --force <remoteName> <branchName>

注意事项

  • 要更改最近的提交消息,请使用 git commit --amend 命令。
  • 要更改旧的或多个提交消息,请使用 git rebase -i HEAD~N
  • 尽量不要修改已推送的提交,因为这可能会给您的同事带来很多问题。

标签: Git, 操作技巧

添加新评论