本文介绍了如何修改 Git 提交历史中的提交信息。通过交互式变基(git rebase -i),选择需要修改的提交,使用 git commit --amend 修改提交日志,完成后继续变基并强制推送更新到远程仓库。注意,强制推送会覆盖远程历史,应与团队沟通以避免影响他人工作。
需求说明
根据要求,需要修改历史提交的日志。具体而言,将提交信息从 feat:新增 feeds 修改为 feat: 新增 feeds 公共组件。
实现流程图
进行交互式变基
确定修改范围
首先确定你需要进行交互式变基的提交范围。如果 7684ba8d 是最近的提交之一,你可以选择最近的 n 个提交。假设 7684ba8d 是你最近的 5 个提交之一:
git rebase -i HEAD~5
这将会列出最近 5 个提交的列表,其中包括 7684ba8d
选择要修改的提交
将 pick 更改为 edit,标记你想要修改的提交:
保存并关闭编辑器。:wq
enter
修改提交内容
Git 会暂停在你选择的提交
此时输入 git branch 命令我们可以看到 Git 会暂停在你选择的提交
当变基操作暂停在 7684ba8d 提交时,你可以进行所需的修改。比如,如果你需要修改提交内容或提交信息,可以使用以下命令:
修改提交内容
git commit --amend
这会允许你修改提交内容和提交信息。
完成修改后,保存并关闭编辑器。
继续变基过程
修改完成后,继续变基操作:
git rebase --continue
Git 将继续应用之后的提交。
推送修改到远程仓库
如果你已经将修改推送到远程仓库,你需要强制推送这些更改:
git push --force
注意: 强制推送会覆盖远程分支的历史,这可能会影响其他团队成员的工作。请在推送前与团队沟通。
结果截图
至此 commit message 已修改完成
结语
本文详细介绍了如何使用 Git 的交互式变基功能来修改历史提交中的提交日志。流程包括:首先确定需要修改的提交范围,并通过 git rebase -i 进行交互式变基;然后标记要修改的提交为 edit,使用 git commit --amend 更新提交内容或信息;最后继续变基操作并使用 git push --force 强制推送到远程仓库。
使用 Git 的交互式变基功能,可以对过去的提交进行精确修改,包括更新提交日志。关键步骤包括选择要修改的提交、修改提交内容或信息、继续变基以及强制推送到远程仓库。强制推送需谨慎!务必注意强制推送可能影响其他协作者,因此需要提前沟通。