git log -- <ファイル>
を実行して削除を確認する
このステップでは、git log
を使用してリポジトリ内の変更履歴を確認する方法を探ります。特に、ファイルの削除がどのように表示されるかに焦点を当てます。
まず、プロジェクトディレクトリにいることを確認しましょう。ターミナルを開き、次のコマンドを入力します。
cd ~/project/my-time-machine
次に、後で削除する新しいファイルを作成しましょう。このファイルを to_be_deleted.txt
と名付けます。
echo "This file is temporary." > to_be_deleted.txt
ファイルが作成されたことを確認しましょう。
cat to_be_deleted.txt
次のように表示されるはずです。
This file is temporary.
ここで、このファイルをステージングエリアに追加し、コミットしましょう。これにより、Git の履歴にその存在が記録されます。
git add to_be_deleted.txt
git commit -m "Add a file to be deleted"
新しいコミットが作成されたことを示す、次のような出力が表示されるはずです。
[master <commit-id>] Add a file to be deleted
1 file changed, 1 insertion(+)
create mode 100644 to_be_deleted.txt
次に、rm
コマンドを使用してファイルを削除しましょう。
rm to_be_deleted.txt
これで、ファイルシステムからファイルは削除されました。では、Git はこのことをどのように認識しているのでしょうか?状態を確認してみましょう。
git status
次のような表示がされるはずです。
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: to_be_deleted.txt
no changes added to commit but untracked files present (use "git add" to track)
Git はファイルが削除されたことを正しく認識しています。これは、Git がファイルの状態を追跡しているからです。追跡対象のファイルが削除されると、Git はその変更を検出します。
次に、この削除をコミットしましょう。削除をステージングするために再び git add
を使用し、その後 git commit
を実行します。
git add to_be_deleted.txt
git commit -m "Delete the temporary file"
削除がコミットされたことを示す出力が表示されるはずです。
[master <commit-id>] Delete the temporary file
1 file changed, 1 deletion(-)
delete mode 100644 to_be_deleted.txt
最後に、git log
を使用して履歴を確認しましょう。これには削除の記録も含まれます。
git log
2 つのコミットエントリが表示されます。最新のコミットには「Delete the temporary file」というメッセージが付いており、to_be_deleted.txt
が削除されたことが示されています。
q
を押してログビューを終了します。
これにより、Git がファイルの作成や変更だけでなく、削除も追跡し、プロジェクトの進化の完全な履歴を提供することがわかります。