はじめに
開発者として、重要なファイルを誤って削除し、そのままコミットしてしまうという状況に直面することがあります。このチャレンジではそのようなシナリオをシミュレートし、Git の履歴確認ツールや状態復元ツールを使用して、失われたファイルを回収し、プロジェクトを正常な状態に戻す能力をテストします。
開発者として、重要なファイルを誤って削除し、そのままコミットしてしまうという状況に直面することがあります。このチャレンジではそのようなシナリオをシミュレートし、Git の履歴確認ツールや状態復元ツールを使用して、失われたファイルを回収し、プロジェクトを正常な状態に戻す能力をテストします。
このチャレンジを開始する前に、~/project/important-project ディレクトリに Git リポジトリが初期化されています。このリポジトリには、2 つの重要なファイルの作成とその後の誤った削除を含む、いくつかのコミットが含まれています。以下の状況を把握しておいてください:
README.md ファイルを追加する最初のコミット(Initial commit)で作成されました。important_algorithm.py と crucial_data.txt という 2 つの重要なファイルが追加されました。important_algorithm.py と crucial_data.txt が誤って削除され、その削除がコミットされました。あなたのタスクは、リポジトリの履歴を辿って削除されたファイルを復元し、復元したファイルをコミットすることです。
important_algorithm.py と crucial_data.txt がいつ削除されたかを特定してください。~/project/important-project ディレクトリで作業すること。important_algorithm.py と crucial_data.txt が存在していること。チャレンジを正常に完了した後、プロジェクトディレクトリで ls を実行すると以下のように表示されるはずです:
$ ls ~/project/important-project
important_algorithm.py crucial_data.txt README.md
git status を実行すると、ワーキングツリーがクリーンな状態であるはずです:
$ git status
On branch master
nothing to commit, working tree clean
また、git log を実行すると、一番上に新しいコミットが表示されるはずです:
$ git log --oneline
8876d8b (HEAD -> master) Recover deleted files
9b3525c Update project status
5e6234c Oops, accidentally deleted important files
9de9506 Update algorithm TODO
01c36ae Add crucial data and algorithm
638a98d Initial commit
このチャレンジでは、誤ってファイルを削除してしまうという、Git でよくあるシナリオに対処しました。以下の方法を学びました:
これらのスキルは、失われたコミットの発見、ミスの取り消し、そして明確なプロジェクト履歴の維持において非常に価値があります。これらのツールは万が一の事態からあなたを救ってくれますが、そもそもこのような状況を避けるために、慎重に作業し、こまめに文書化されたコミットを行うことが最善であることを忘れないでください。
このチャレンジを完了したことで、Git の最も強力な復元ツールのいくつかを実践的に体験しました。これらのスキルは、あなたの開発キャリアを通じて大いに役立つはずです。