Gitで誤ってファイルを削除してしまった場合、どのようにすれば戻せるのでしょうか?
ここでは、Gitで消したファイルを戻す方法を2つ紹介します。
削除操作を取り消す
削除操作をまだステージングエリアに追加していない場合は、以下のコマンドで削除操作を取り消すことができます。
git reset HEAD <ファイル名>
例えば、sample.txtというファイルを削除した場合は、以下のコマンドを実行します。
git reset HEAD sample.txt
このコマンドを実行すると、sample.txtファイルが作業ツリーに復元されます。
コミット履歴からファイルを復元する
削除操作をステージングエリアに追加済みの場合、または削除したファイルをコミットしてしまった場合は、コミット履歴からファイルを復元する必要があります。
以下のコマンドで、指定したコミットのファイル内容を作業ツリーに復元することができます。
git checkout <コミットID> <ファイル名>
例えば、コミットIDが 1234567890abcdef のコミットから sample.txt ファイルを復元する場合は、以下のコマンドを実行します。
git checkout 1234567890abcdef sample.txt
このコマンドを実行すると、sample.txt ファイルが作業ツリーに復元されます。
削除したファイルの確認方法
削除したファイルを確認するには、以下のコマンドを実行します。
git log --name-status
このコマンドを実行すると、コミット履歴のファイル変更内容が表示されます。
例えば、削除したファイルが sample.txt の場合、以下の出力が表示されます。
commit 1234567890abcdef (HEAD -> master)
Author: [Your name] <[Your email address]>
Date: 2023-09-30 10:03:54 +0900
Add sample.txt
D sample.txt
この出力では、コミットIDが 1234567890abcdef のコミットで sample.txt ファイルが削除されたことがわかります。
注意点
削除したファイルを復元しても、削除した後の変更は取り消されません。
例えば、削除したファイルにコメントを追加してから削除した場合、復元してもコメントは削除された状態のままになります。
また、コミット履歴からファイルを復元する場合、コミット履歴に存在しない変更は失われます。
例えば、削除したファイルに変更を加えてコミットしてから削除した場合、復元しても変更前の状態に戻ります。
まとめ
Gitで消したファイルを戻すには、以下の2つの方法があります。
- 削除操作を取り消す
- コミット履歴からファイルを復元する
削除操作を取り消す場合は、削除操作をまだステージングエリアに追加していない必要があります。
コミット履歴からファイルを復元する場合は、復元したいファイルがコミット履歴に存在する必要があります。
また、削除したファイルを復元しても、削除した後の変更は取り消されませんので、注意が必要です。