1. Gitのアーキテクチャ:4つの領域
Gitを理解する第一歩は、ファイルが今「どこ」にあり、「どこ」へ向かおうとしているのかを把握することです。Gitには大きく分けて4つの領域が存在します。
- Workspace : 実際にあなたがファイルを編集している場所です。
- Index (Staging Area) : 次のコミットに含める変更を一時的に保存する場所です。
- Local Repo : 自分のPC内にあるコミット履歴のデータベースです。
- Remote Repo : GitHubなどのサーバー上にある共有のデータベースです。
2. Gitはグラフ(DAG)である
Gitのコミット履歴は、単なる一本の線ではありません。 DAG (Directed Acyclic Graph: 有向非巡回グラフ) と呼ばれるデータ構造です。
各コミットは「親」へのポインタを持っており、ブランチ(mainやdevelop)は特定のコミットを指し示す単なる ポインタ(動くラベル) に過ぎません。
3. モダンGit:checkout から switch/restore へ
2026年現在、多くの現場では従来の git checkout は使われなくなっています。なぜなら、checkout は「ブランチの切り替え」と「ファイルの復元」という全く異なる2つの役割を持っていたため、誤操作のリスクが高かったからです。
Git v2.23以降、これらは明示的に分割されました。
| 役割 | 旧コマンド (Deprecating) | 新コマンド (Modern) |
|---|---|---|
| ブランチ切り替え | git checkout <branch> | git switch <branch> |
| 新ブランチ作成 | git checkout -b <new> | git switch -c <new> |
| ファイル変更破棄 | git checkout -- <file> | git restore <file> |
| ステージから降ろす | git reset HEAD <file> | git restore --staged <file> |
なぜ新コマンドが推奨されるのか?
- + 役割が明確に分離されており(切り替え vs 復元)、誤操作が減る
- + 引数の解釈が直感的になり、意図しない上書きを防げる
- + 2.23以降の標準であり、ドキュメントやAIの提案もこれに移行中
- - 長年連れ添った指の筋肉(タイピング癖)を直す必要がある
- - 非常に古いGit環境(サーバー等)では動作しない可能性がある
例:安全なブランチ切り替え
# 安全に新しいブランチを作成して切り替え
$ git switch -c feature/new-logic
# 前のブランチに即座に戻る
$ git switch -
4. デイリーワークフロー:2026年標準
標準的な開発サイクルを StepRoadmap で確認しましょう。
1. 同期
git pull origin main --rebase
2. 実装開始
git switch -c create-feature
3. ステージング
git add .
4. コミット
git commit -m "feat: add new visualization"
5. プッシュ/PR
git push origin create-feature
Tip : git pull --rebase を使うことで、マージコミットを抑え、綺麗な一本の履歴を保つことができます。
5. 高度な基礎:Sparse Checkout
モノリポジトリ(巨大なリポジトリ)で作業する場合、リポジトリ全体をローカルに落とすのは非効率です。2026年では git sparse-checkout が標準的に利用されます。
# 必要なディレクトリだけをチェックアウト対象にする
$ git sparse-checkout set src/components docs/ これにより、数ギガバイトあるリポジトリでも、必要な数メガバイト分だけで作業を開始できます。
6. まとめ:視覚的に考える
Gitで迷ったら、「今、グラフのどの点(コミット)にいて、ブランチというポインタがどこを指しているのか」を図解して考える癖をつけましょう。
この記事が、あなたのGitライフをより円滑にすることを願っています。






⚠️ コメントのルール
※違反コメントはAIおよび管理者により予告なく削除されます
まだコメントがありません。最初のコメントを投稿しましょう!