定义和用法
在使用 Git 时,我们经常会忘记格式化提交或者暂存文件。
git commit -amend 命令是纠正此类错误的最简单方法。
它用于编辑最新的提交。
我们可以运行此命令将暂存更改与先前的提交合并,而不是创建一个全新的提交。
此外,该命令可以在不更改其快照的情况下修改先前的提交消息。
考虑到 git commit -amend 完全替换了当前提交。
我们将看到 git commit -amend 的一些使用方法。
更改最近的 Git 提交消息
如果我们已经提交并在提交日志消息中出错,我们可以执行 git commit -amend 修改前一次提交的日志消息,而不更改其快照。
我们可以使用 -m 选项从命令行传入新消息,而不会收到打开编辑器的提示。
git commit --amend -m "an updated commit message"
git更改提交的文件
假设我们修改了一些要在单个快照中提交的文件,但是我们第一次忘记添加其中一个文件。
如果我们暂存其他文件并使用 --amend 标志提交,则可以解决此问题。
添加 --no-edit 标志以修改提交而不更改提交消息。
结果,错误的提交将被正确的提交替换,如下例所示:
# Modify project.py and text.py git add project.py git commit # You forgot to add the changes from text.py git add text.py git commit --amend --no-edit
修改公开承诺的不可受理性(inadmissibility)
实际上,修改后的提交是新的提交,修改提交后,之前的提交不会从当前分支中删除。
这就是为什么你永远不应该修改其他团队成员正在开发的提交,因为这会给协作带来很多问题。
因此,我们会注意到结果与重置公共快照的情况相同。
日期:2020-06-02 22:16:32 来源:oir作者:oir