Skip to content

Instantly share code, notes, and snippets.

@hyuki
Created February 7, 2024 13:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hyuki/dad2ddc040b2b5670bdfdbfda0329ac2 to your computer and use it in GitHub Desktop.
Save hyuki/dad2ddc040b2b5670bdfdbfda0329ac2 to your computer and use it in GitHub Desktop.
Gitで、特定のファイルを削除したコミットを見つけて復元する方法

特定のファイルを削除したコミットを見つけて復元する方法

ファイルが誤って削除されたり、過去のバージョンに戻したい場合があります。Gitを使えば、これらの操作を簡単に行うことができます。以下に、特定のファイルについて最後にコミットされた状態を見つけ出し、そのファイルを復元する手順を紹介します。

1. filenameについての最後のcommitIDを得る

まず、削除されたファイルや変更を追跡したいファイルの最後のコミットIDを見つけます。これにはgit logコマンドを使用します。

$ git log -- filename

このコマンドは、指定したファイルに関連するコミット履歴を表示します。出力から、ファイルが最後に変更されたコミットIDを探します。

2. 指定したcommitIDの直前の状態のfilenameを復元する

次に、見つけたコミットIDの直前の状態からファイルを復元します。Git 2.23以降では、git restoreコマンドを使ってこれを行うことができます。

$ git restore --source=commitID^ -- filename

ここで、commitIDはステップ1で見つけたコミットIDです。^記号はそのコミットの直前を指します。

3. 復元したファイルをコミットする

復元したファイルを現在のワーキングディレクトリに追加し、変更をコミットします。

$ git add filename
$ git commit -m "Restore filename"

最後に、変更をリモートリポジトリにプッシュします。

$ git push

以上で、特定のファイルを過去の状態に復元するプロセスが完了しました。この方法を使えば、誤って削除したファイルを簡単に復元することができます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment