经常有以下这些需求:
- commit 数量比较多,需要合并一些 commit 以保证提交记录清晰
- commit 信息写错了
这里还分两种情形,一种是要重写本地仓库的 commit。第二种是已经 push commit 到远程仓库。
常见技巧:选择 push 到远程仓库要慎重,需要是你已经有充足的信心及把握提交代码(而且代码也是可信任的)。因为一旦提交到远程,别人从远程 clone 下来了,这时候你再要去重写历史,就需要别人做一些额外的操作才能保持同步。
举几个简单技巧的实例:
比如,我们现在有 3 个 commit,信息如下:
当 commit 还在本地仓库时
只想重写上一个 commit 的信息时
git commit --amend -m 'feat: add 3 after change'
执行成功