ステージングエリア
CoddyのTerminalジャーニー「バージョン管理」セクションの一部 — レッスン 9/58。
Gitはすべての変更を自動的にコミットするわけではありません。その代わりに、次のスナップショットに含める変更を明示的に選択します。この2段階のワークフローは、ステージングエリアを中心に構築されています。
次のコミットのためのクリップボードのようなものだと考えてください。ファイルは3つの状態を経て移動します:
- Working directory: 通常通りファイルを編集する場所です。
- Staging area: 次のコミットのためにマークした変更です。
- Repository: コミット後の、永続的な履歴です。
ステージングの目的はコントロールです。10個のファイルを編集しても、1つのバグ修正に関連する2つのファイルだけをステージングしてコミットし、残りは別途ステージングしてコミットするということが可能です。これにより、各コミットを1つの論理的な変更に集中させることができます。
ファイルを git add でステージング領域に移動し、git commit でステージング領域からリポジトリに移動します。
チャレンジ
初心者フォルダには追跡されていないファイル app.txt が含まれています。リポジトリを初期化し、git status --short を実行して、ファイルが追跡されていない状態で表示されることを確認してください。
チートシート
Gitは、コミットを作成するために2段階のワークフローを使用します:
- ワーキングディレクトリ – ファイルを編集する場所
- ステージングエリア – 次のコミットのためにマークされた変更
- リポジトリ – コミット後の永続的な履歴
git add で変更をステージングし、git commit でそれらを履歴に保存します。これにより、複数のファイルが編集されている場合でも、関連する変更を特定のコミットにグループ化できます。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。