在另一个问题上使用Chris's answer我可以将快照历史记录添加到我的git存储库中。由于其中一个文件不是我的历史记录的一部分,而只是在快照中,因此第一个原始提交现在也包含此文件的删除。我该怎么撤消?
起初我认为这与How do I remove sensitive files from git’s history相反,但实际上我不想在历史记录中插入文件,只是从历史记录中删除删除。
答案 0 :(得分:68)
git checkout <commit> <filename>
答案 1 :(得分:50)
我明白了:
git tag originalHead # just in case
git rebase -i <id of the parent of the commit that deleted the file>
# change pick to edit for that commit
git checkout <id of the previous commit> <filename> # thanks for reminding, kubi
git commit --amend
git rebase --continue
git tag -d originalHead
编辑,不幸的是,这会将所有代码留在旧时间轴上,请参阅here