我忘记在初始提交中添加文件。我如何返回并添加它?

I forgot to add a file in the initial commit. How do I go back and add it?

我忘记添加我的项目所需的设置文件 运行。我已经做了 14 次提交。我如何返回并将该设置文件添加到初始提交中,以便我的所有提交都具有该文件?

您可以现在提交,然后使用 rebase 重新排序提交。

但是,这将重写您的存储库的历史记录,因此它只有在您的存储库尚未分发给其他人时才真正有用。

例如:

  1. git add <missing-file>
  2. git commit -m "Added missing file."
  3. git rebase -i HEAD~14
  4. 重新排序提交,这样您丢失的文件提交就在您之前添加了未跟踪的文件之后。

开始之前,请查阅 rebase 的文档,因为它是一个功能强大的命令,但如果使用不当也会导致问题。文档:https://git-scm.com/docs/git-rebase

希望对您有所帮助。

使用 git 1.7

提供的 git rebase 很简单

以下是操作步骤,

  1. 使用git rebase -i HEAD~14(收回 14 次提交)

  2. 标记 edit 的提交。 (这让你可以编辑提交)

  3. 保存 rebase 文件,git 将返回到 shell 并等待您修复该提交

  4. 使用 git add 添加您的设置文件(这会将您之前忘记添加的文件添加到旧提交中)

  5. git commit --amend 修改提交(这会用新添加的文件为您修改或更改旧提交)

  6. 执行 git rebase --continue 这将重写您的其余提交以匹配新的提交

希望对您有所帮助!