如何在Git的最后一次提交中添加文件?

有时在我做了一次提交之后,我发现我遗漏了一个文件,这个文件也应该包含在提交中,但实际上没有。我经常再次承诺:

git add the_left_out_file
git commit "include the file which should be added in the last commit"

我认为这样做可能不是个好主意。我想只包含文件而不添加提交。就像这样,

git add the_left_out_file
git add_staged_files_to_previous_commit

这可能吗?

267896 次浏览
如果你没有在远程中推送更新,那么简单的解决方案是

.使用如下命令取消最后一次本地提交
git reset HEAD^

然后添加所有文件并再次提交。

是的,有一个命令,git commit --amend,用于“修复”;最后一次提交。

在您的情况下,它将被称为:

git add the_left_out_file
git commit --amend --no-edit

——no-edit标志允许在不改变提交消息的情况下修改提交。

警告

永远不要修改已经推送到公共存储库的公共提交,因为修改实际上是从历史记录中删除最后一次提交,并使用该提交的更改和修改时添加的新更改创建一个新的提交。