DEV Community

kaede
kaede

Posted on

Git 基礎 Part 01 -- ローカルで過去のコミットの一部を確保して、ブランチを最新に戻す

why

ローカルに以下のコミットがある。
リモートには push していない状態。

  1. index.html を作成
  2. index.html の中身を記述してコミット
  3. index.html を削除してコミット
  4. 他のコミット

この状態で、2 の状態に戻してその時の index.html の中身をコピーしたかった。


2 の状態の index.html を確保する

https://www.partitionwizard.jp/disk-recovery/git-restore-deleted-file.html

  1. コミットログのメッセージを手がかりに、2 の状態のコミット番号を見つける。
  2. 2 の状態のコミット番号をコピーする。(3でやらかす一つ前。)
  3. git reset --hard {一つ前のコミット番号} を実行して 2 の状態まで戻す。
  4. 2 の状態の index.html をコピーする

最新の状態に戻す

https://www-creators.com/archives/2025#:~:text=%E9%96%B2%E8%A6%A7%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82-,2%E4%BB%BB%E6%84%8F%E3%81%AE%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88%E3%81%AB%20git%20reset%20%2D%2Dhard%20%E3%81%97,%40%7B6%7D%E3%81%AB%E6%88%BB%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82

  1. git reflog で、リセット前の最新のコミットID を見つける
  2. git rebase -i {リセット前の最新のコミットID} を実行する
  3. 最新の状態に戻る
  4. やらかす前のコピーを元に復元

Top comments (0)