我忘记在初始提交中添加文件。我如何返回并添加它? [复制]
Posted
技术标签:
【中文标题】我忘记在初始提交中添加文件。我如何返回并添加它? [复制]【英文标题】:I forgot to add a file in the initial commit. How do I go back and add it? [duplicate] 【发布时间】:2016-12-03 21:46:18 【问题描述】:我忘记添加项目运行所需的设置文件。我已经提交了 14 次。如何返回并将该设置文件添加到初始提交中,以便我的所有提交都具有此文件?
【问题讨论】:
【参考方案1】:使用 git 1.7 提供的 git rebase
很简单
以下是操作步骤,
使用git rebase -i HEAD~14
(返回 14 次提交)
标记edit
的提交。 (这让你可以编辑提交)
保存 rebase 文件,git 将返回 shell 并等待您修复该提交
使用git add
添加您的设置文件(这会将您之前忘记添加的文件添加到旧提交中)
使用git commit --amend
修改提交(这会使用新添加的文件为您修改或更改旧提交)
执行git rebase --continue
,它将重写其余的提交以匹配新的提交
希望对你有帮助!
【讨论】:
【参考方案2】:您可以立即提交,然后使用 rebase
重新排序提交。
但是,这将重写您的存储库的历史记录,因此只有在您的存储库尚未分发给其他人时才真正有用。
例如:
git add <missing-file>
git commit -m "Added missing file."
git rebase -i HEAD~14
重新排序提交,这样您丢失的文件提交就在您之前添加未跟踪的文件之后。
在开始之前,请查阅rebase
的文档,因为它是一个强大的命令,但如果使用不当也会导致问题。文档:https://git-scm.com/docs/git-rebase
我希望这会有所帮助。
【讨论】:
以上是关于我忘记在初始提交中添加文件。我如何返回并添加它? [复制]的主要内容,如果未能解决你的问题,请参考以下文章