【ばーじょんかんり】

バージョン管理 とは?

最終更新:
💡 変更をたどれる、ファイルの足跡帳

ファイルの変更を版として記録し、差分の確認、過去の状態の取り出し、複数人の変更の統合に使う仕組み。GitやSubversionなどの道具がある。Gitでは変更を選んでコミットし、記録した履歴を管理する。

📌 このページのポイント
バージョン管理:分けた変更を合流初版修正統合本流機能追加の枝別の作業点は記録した版、線は履歴のつながり
Gitのブランチとマージを簡略化した例。変更を記録してから統合します。競合の解決や、統合後の動作確認は別に必要です。
ひよこ ひよこ
最終版のファイルが何個もあるのを防げる?
ペンギン先生 ペンギン先生
ファイル名を増やす代わりに、記録した版の履歴をたどれるよ。どこを変えたかを比較したり、以前の状態を取り出したりできる。記録していない変更まで必ず残るわけではないね。
ひよこ ひよこ
Gitだと、保存するだけで記録される?
ペンギン先生 ペンギン先生
保存とコミットは別だよ。変更を記録対象に選び、コミットで履歴を作る。「ログイン画面の不具合を修正」のような説明を添えると、後から意図も読み取りやすいね。
ひよこ ひよこ
ブランチは、何のために分けるの?
ペンギン先生 ペンギン先生
今の版から別の作業の流れを作り、機能の追加などを進めるためだよ。完成した変更をマージで合流させられる。本番に反映するかはデプロイの手順や設定にもよるから、枝を分けただけで本番への影響が消えるとは限らないよ。
ひよこ ひよこ
複数人の変更も、自動で正しく合わさる?
ペンギン先生 ペンギン先生
Gitが統合できる場合もあるけれど、同じ箇所を別々に変えると競合して人の判断が必要になることがある。自動マージが成功しても、組み合わせた内容が正しいかはテストで確かめよう。
ひよこ ひよこ
GitとGitHubは同じ?
ペンギン先生 ペンギン先生
Gitはバージョン管理の道具、GitHubはGitのリポジトリを共有するサービスの一つだよ。コードのほか設定や文章も管理できる。ただし未記録のファイルや別の場所のデータは対象外になりうるので、バックアップも別に考えようね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「バージョン管理」って出てきたら「ファイルの変更を記録して、比較や統合ができる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「version control」 = 版の管理
💬 versionは「版」、controlは「管理」。本の初版・改訂版のようにソフトウェアの変更を版として管理するんだよ

参考資料

← 用語集にもどる