別の質問で Chrisの回答 を使用すると、gitリポジトリにスナップショット履歴を追加できます。ファイルの1つは私の履歴の一部ではなくスナップショットにのみ含まれているため、最初の元のコミットにもこのファイルの削除が含まれています。どうすれば元に戻すことができますか?
最初はこれが の反対であると思いましたが、どうすればgitの履歴から機密ファイルを削除できますか が、実際には挿入したくありません履歴にファイルしますが、履歴から削除を削除します。
わかった:
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
edit残念ながら、これによりすべてのタグが古いタイムラインに残ります こちら を参照してください
git checkout <commit> <filename>