タイムトラベルする開発者

GitGitBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

あなたがタイムマシンプロジェクトに取り組んでいる開発者だと想像してみてください。突然、未来の自分が現れ、現在のコードベースに重大なバグがあることを警告します!あなたは進行中の作業をすぐに保存し、バグを修正してから、現在のタスクを再開する必要があります。このチャレンジでは、緊迫感あふれるタイムトラベルシナリオの中で、Git stash のスキルをテストします!


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/DataManagementGroup(["Data Management"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/DataManagementGroup -.-> git/stash("Save Changes Temporarily") git/BranchManagementGroup -.-> git/branch("Handle Branches") git/BranchManagementGroup -.-> git/checkout("Switch Branches") subgraph Lab Skills git/stash -.-> lab-387759{{"タイムトラベルする開発者"}} git/branch -.-> lab-387759{{"タイムトラベルする開発者"}} git/checkout -.-> lab-387759{{"タイムトラベルする開発者"}} end

Stash, Fix, and Resume (一時退避、修正、再開)

初期状態

あなたは ~/project ディレクトリにいます。time-machine ディレクトリは、以下のファイルを含む新しい Git リポジトリです。

  • main-console.txt (内容:"Bug: Temporal Flux Unstable (バグ:時間的変動不安定)")
  • flux-capacitor.txt (内容:"Work in progress (作業中)")
  • new-feature.txt (内容:"Untracked feature (追跡されていない機能)")

git status コマンドを使用して、リポジトリの現在の状態を確認できます。

タスク

  1. 追跡されていないファイルを含め、現在の変更をすべて Stash (一時退避) します。
  2. master ブランチの「重大なバグ」を修正するために、main-console.txt の内容を "Fixed: Temporal Flux Stabilized (修正済:時間的変動安定化)" に更新します。
  3. Stash (一時退避) した変更から、future-upgrades という名前の新しいブランチを作成します。
  4. master ブランチからのバグ修正が future-upgrades ブランチにも存在することを確認します。

要件

  • すべての操作は ~/project/time-machine ディレクトリで実行する必要があります。
  • 元の変更 (追跡されているものと追跡されていないものの両方) が、新しいブランチに存在することを確認します。
  • main-console.txt のバグ修正が、master ブランチと future-upgrades ブランチの両方に存在する必要があります。

このチャレンジ (チャレンジ) を完了すると、リポジトリは次のようになります。

master ブランチの場合:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")

future-upgrades ブランチの場合:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")  ## Contains the bug fix from master (master からのバグ修正を含む)
flux-capacitor.txt (content: "Work in progress")              ## Original tracked changes (元の追跡された変更)
new-feature.txt (content: "Untracked feature")                ## Original untracked file (元の追跡されていないファイル)

注:この状態を実現するには、両方のブランチにバグ修正が含まれていることを確認しながら、future-upgrades ブランチで作業中の変更を保持する必要があります。

✨ 解答を確認して練習

まとめ

このチャレンジでは、シミュレートされた緊急シナリオの中で Git stash の使用方法を練習しました。進行中の作業(追跡されていないファイルも含む)をすぐに保存し、コンテキストを切り替えて重大な問題を修正し、その後一時保存した変更から新しいブランチを作成する方法を学びました。これらのスキルは、予期せぬタスクが発生したときにスムーズなワークフローを維持するために不可欠です。作業を失ったり集中力を途切れさせたりすることなく、複数の責務をこなすことができます。

Git stash は変更を一時的に保存するための強力なツールですが、短期的な保存に最適です。長期的な作業や重要な機能については、専用のブランチを作成する方が良いアプローチです。これらのスキルを練習し続ければ、あなたは到来するあらゆるタイムトラベル開発シナリオに対応できるようになります!