タイトル: バージョン管理
当記事はバージョン管理のソフトウェアに関する記事です。ソースコードや設定ファイルの変更履歴を記録し、複数人での共同編集を可能にする仕組みです。
子ページからソフトウェアを選択してください。
バージョン管理とは
バージョン管理(Version Control)は、ファイルやディレクトリの変更履歴を時系列で記録するためのしくみです。誰がいつ何を変えたかを記録し、過去の状態に戻したり、複数人の変更を統合したりできます。
主な特徴とできること
- 変更履歴の記録 — 誰がいつ何を変えたか
- 過去状態への復元 — 任意のリビジョンに戻せる
- 複数人での共同編集 — 並行作業+マージ
- ブランチによる並行開発 — リリース版と開発版を分離
- レビューと履歴の可視化 — プルリクエスト/コードレビュー
本ページの子ページ
- git — 分散型バージョン管理の事実上の標準。GitHub / GitLab / Bitbucketのベース
- Sourcetree — Atlassian製のGit GUIクライアント
バージョン管理システムの種類
| 種類 | 代表 | 特徴 |
|---|---|---|
| 集中管理型 | Subversion (SVN), CVS, Perforce | 中央サーバーに全履歴。シンプル |
| 分散管理型 | Git, Mercurial | 各クライアントが全履歴を持つ。オフライン作業可 |
| クラウド連携 | GitHub, GitLab, Bitbucket, Azure DevOps | Gitリモートをホスティング+PR/CI連携 |
Gitの基本ワークフロー
|
# リポジトリ準備 |
GUIクライアントの選択肢
| ツール | 特徴 |
|---|---|
| Sourcetree | 無料・Windows/Mac対応。ブランチツリー可視化が直感的 |
| GitHub Desktop | GitHub連携が滑らか。シンプル |
| GitKraken | 多機能GUI。一部有料 |
| VSCode / IDE組み込み | エディタから直接Git操作 |
バージョン管理を始めるときのコツ
- .gitignoreでビルド成果物・依存・機密ファイルを除外
- 1コミット=1意図で粒度を保つ(巨大コミットは避ける)
- コミットメッセージの規約:
fix:,feat:等のプレフィクスがあると履歴が読みやすい - main/master の保護: 直接コミット禁止、PR経由のみ
- ブランチ戦略: GitHub Flow / Git Flow を学んで採用