why
ローカルに以下のコミットがある。
リモートには push していない状態。
- index.html を作成
- index.html の中身を記述してコミット
- index.html を削除してコミット
- 他のコミット
この状態で、2 の状態に戻してその時の index.html の中身をコピーしたかった。
2 の状態の index.html を確保する
https://www.partitionwizard.jp/disk-recovery/git-restore-deleted-file.html
- コミットログのメッセージを手がかりに、2 の状態のコミット番号を見つける。
- 2 の状態のコミット番号をコピーする。(3でやらかす一つ前。)
-
git reset --hard {一つ前のコミット番号}
を実行して 2 の状態まで戻す。 - 2 の状態の index.html をコピーする
最新の状態に戻す
- git reflog で、リセット前の最新のコミットID を見つける
-
git rebase -i {リセット前の最新のコミットID}
を実行する - 最新の状態に戻る
- やらかす前のコピーを元に復元
Top comments (0)