如何添加一个文件到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 

可能吗?

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

在你的情况下,将被称为:

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

–no-edit标志允许修改提交而不改变提交信息。

编辑:你永远不应该修改公共提交,你已经推到公共仓库,因为修改是从历史上最后提交和创build新的提交,从提交和修改时添加新的组合的变化。

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