如何将文件添加到git中的最后一次提交?


How to add a file to the last commit in git?

本问题已经有最佳答案,请猛点这里访问。

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

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

我认为这样做可能不是一个好主意,我想做的只是在不添加提交的情况下包含文件。像这样,

1
2
git add the_left_out_file
git add_staged_files_to_previous_commit

有可能吗?


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

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

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

--no edit标志允许在不更改commit消息的情况下对commit进行修改。

编辑:警告您不应该修改已经推送到公共存储库的公共提交,因为修改实际上是从历史上最后一次提交中删除,并创建新的提交,其中包含来自该提交的合并更改和修改时添加的新更改。


如果您没有在远程推送更新,那么简单的解决方案是使用以下命令删除最后一次本地提交:git reset HEAD^。然后添加所有文件并再次提交。