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