Git
分散型バージョン管理システムで、ソースコードの変更履歴を管理する
Git とは
Git は、Linus Torvalds が 2005 年に Linux カーネルの開発のために作成した分散型バージョン管理システムである。各開発者がリポジトリの完全なコピーを持ち、オフラインでもコミットやブランチ操作ができる。
基本概念
基本概念を図で示す。
Working Directory → Staging Area → Local Repository → Remote Repository
(作業ディレクトリ) (git add) (git commit) (git push)
| 概念 | 説明 |
|---|---|
| コミット | 変更のスナップショット |
| ブランチ | コミットへのポインタ |
| HEAD | 現在のブランチの先頭 |
| リモート | GitHub 等のリモートリポジトリ |
| マージ | ブランチを統合 |
| リベース | コミット履歴を書き換えて統合 |
よく使うコマンド
よく使うコマンドの例を示す。
# 基本操作
git add . # ステージング
git commit -m "Add feature" # コミット
git push # リモートにプッシュ
git pull # リモートから取得 + マージ
# ブランチ
git checkout -b feature/login # ブランチ作成 + 切り替え
git merge feature/login # マージ
git branch -d feature/login # ブランチ削除
# 履歴
git log --oneline --graph # コミット履歴
git diff # 差分表示
git blame file.ts # 行ごとの最終変更者
# 取り消し
git reset --soft HEAD~1 # 直前のコミットを取り消し (変更は保持)
git stash # 変更を一時退避
git stash pop # 退避した変更を復元
マージ vs リベース
マージとリベースの違いを以下にまとめる。
| 観点 | マージ | リベース |
|---|---|---|
| 履歴 | マージコミットが残る | 直線的な履歴 |
| コンフリクト解決 | 1 回 | コミットごとに解決 |
| 安全性 | 履歴を書き換えない | 履歴を書き換える |
| 推奨場面 | PR のマージ | ローカルブランチの整理 |
.gitignore
.gitignore には追跡対象から外すパスを列挙する。依存関係のインストール先、ビルド生成物、秘密情報を含む設定ファイル、OS が作る補助ファイルが典型である。
node_modules/
dist/
.env
*.log
.DS_Store
GitHub との関係
Git はバージョン管理ツール、GitHub は Git リポジトリのホスティングサービス。GitHub は PR、Issue、Actions (CI/CD) などの協業機能を提供する。
SVN との違い
SVN との違いを以下にまとめる。
| 観点 | Git (分散型) | SVN (集中型) |
|---|---|---|
| リポジトリ | 各開発者が完全コピー | サーバーに 1 つ |
| オフライン作業 | commit や履歴の確認まで手元で完結する | commit にサーバーへの接続が必要 |
| ブランチ | 軽量 (ポインタ・作成と切り替えが手元で完結) | リポジトリ上の作成自体は定数時間の複製だが、切り替えにはサーバー通信と作業コピーの更新が必要 |
| 速度 | 高速 (ローカル操作) | 低速 (サーバー通信) |
理論と実装の両面から学ぶなら関連書籍が参考になる。
この記事は役に立ちましたか?
関連用語
GitHub Flow
main ブランチとフィーチャーブランチだけで運用するシンプルなブランチ戦略
Git Flow
feature、develop、release、hotfix、main の 5 種類のブランチで開発を管理するブランチ戦略
Conventional Commits とは - コミットメッセージ規約の書き方と導入手順
Conventional Commits はコミットメッセージに feat/fix 等の型を付与する規約。CHANGELOG 自動生成やセマンティックバージョニングとの連携方法を実例で解説
GitHub
Git を基盤としたソースコードのホスティング / 共同開発プラットフォーム
Git リベース
コミット履歴を整理し、クリーンな直線的履歴を維持するための Git 操作
フィーチャーブランチとは - 機能ごとに独立したブランチで開発しマージする Git ワークフロー
機能ごとに独立したブランチを作成し、完成後にメインブランチにマージする Git ワークフロー
関連する記事
Git / GitHub 本ガイド - マンガ / GUI / 仕組み理解の 3 つの入口で選ぶ
Git と GitHub を学ぶ本の選び方を「入口の違い」で整理。マンガで概念を掴む本、GUI から入る本、仕組みを腹落ちさせる本、チーム開発の作法を学ぶ本、手元に置くリファレンスまで、2026 年 8 月時点の定番書で独学ルートを解説します。
「あとで読む」ブックマークが 100 件を超えたら本を買え
ブラウザのブックマークに技術記事を溜め込んでいませんか。断片的な記事を 100 件読むより、同じテーマの本を 1 冊読む方が効率的な理由を解説します。
Linux 本ガイド - コマンドライン / しくみ / 性能の 3 層で選ぶ技術書
Linux を学ぶ技術書の選び方を 3 層 (コマンドラインの操作 → カーネルのしくみ → 性能と運用) で整理。新しい Linux の教科書や [試して理解] Linux のしくみなどの定番書の使い分けと、学ぶ順番を解説します。