web-dev-qa-db-ja.com

以前にgitの履歴で削除されたファイルを元に戻す方法は?

別の質問で Chrisの回答 を使用すると、gitリポジトリにスナップショット履歴を追加できます。ファイルの1つは私の履歴の一部ではなくスナップショットにのみ含まれているため、最初の元のコミットにもこのファイルの削除が含まれています。どうすれば元に戻すことができますか?

最初はこれが の反対であると思いましたが、どうすればgitの履歴から機密ファイルを削除できますか が、実際には挿入したくありません履歴にファイルしますが、履歴から削除を削除します。

46
Tobias Kienzler

わかった:

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残念ながら、これによりすべてのタグが古いタイムラインに残ります こちら を参照してください

51
Tobias Kienzler
git checkout <commit> <filename>
68
kubi