1. 超簡単!
2 0 2 0 . 4 . 2 3
た に や ん
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D
OSSPlaza.com
0
バージョン管理入門
最初の一歩1.0 1.1 1.2
2.0 2.1
4. 1. バージョンって何?
書籍を思い浮かべてください。「版」がありますよね?。その「版」のことです。
書籍の終わりに ↓ のようなことが書いていますよね?
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 3
バージョン管理入門(第2版)
2020年 1月 1日 第2版 第1刷
2020年 5月31日 第3刷
著者:バージョン管理研究会
発行者:誰野誰男
発行所:架空出版社
・・
これです。これを見るだけで、
(1) 最初に出版されてから、一
度大きな改定があった
(2) 3回目の印刷なので、誤植
が少ないかもしれない
ことがわかります。これは「旧版と
間違って買わない」情報ともな
るので、重要な情報です。
5. 2. 過去に戻すだけなら不要では?
バージョン管理は、過去の版を管理する、一種のバックアップ・・・。
Windows10やクラウドは設定すれば、自動でバックアップ取れますね。
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 4
確かに自動でバックアップを取ってくれる
のは便利で、「特定のフォルダやファイル
をバックアップ取得時点に戻す」というな
ら可能でしょう。
ただ2つの欠点があります。
1. 確定時点ではなく「バックアップ取
得時点」なので、「いつどういう状
態だったか」を記憶して置かないと
欲しい版に戻れない。
2. 手順が煩雑なので、頻繁に「行き
つ戻りつ」する作業には向かない。
Windows10のバックアップ設定画面
6. 3. バージョン管理とは
製造で、同じ製品だが、ロット毎に部品の修正などがある場合。
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 5
11図面
製品
1 221 1 31 2 11
ロット#1 ロット#2 ロット#3
ロット#3の時点で図面
の図面ファイルを見ても、
ロット#2時点の図面の
状態、ロット#1の図面
の状態がわからない。
各々部品と図面
(色は対応) バージョン1 バージョン2 バージョン3
確定時点の図面グループに
「バージョン」を振って管理す
れば、必要な図面のセットを
取り出しやすい。
番号は変更回数
(1〜)
問題があった場合など、過去のロットの図面の
セットを参照する場合に、バージョン(版)の管
理がされてないと、何が確定版かわからなくなる。
7. 4. バージョン管理システムの効果
(1) ファイルの重複がない
(2) 誤った上書きがされにくい
(3) 上書きしたとしても戻しやすい
(4) コンフリクトが通知される
(5) 枝分かれ(ブランチ)も管理できる
(6) テキストファイルは差分を管理
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 6
共有フォルダでも管理できなくはないが・・専用システムがよい。
8. 4. バージョン管理システムの効果
(1) ファイルの重複がない
同じファイルは二重に持たない。スペースが無駄にならず、ややこしくない。
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 7
11 1 221 1 31 2 11
ロット・バージョン#1 ロット・バージョン#2 ロット・バージョン#3
【共有フォルダ管理】
ファイルのセットを全部
管理する必要がある
【VCS*で管理】
重複せずに管理され、
必要なセットを簡単に
簡単にとりだせる
11 1
22
3 2 1
1
リポジトリ
11 11
ロット・バージョン#1
221 1
ロット・バージョン#2
31 2 1
ロット・バージョン#3
チェックアウト
チェックアウト
チェックアウト
同じファイルを重複して持つ
*VCS=バージョン・コントロール・システム
9. 4. バージョン管理システムの効果
(2) 誤った上書きがされにくい
明示的に確定(コミット)しないとサーバに反映されない
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 8
【VCSで管理】
手元にコピーを持って
いる。コピーを開いて
加工しても、確定(コ
ミット)しないと上書き
しない
11 1
22
1 11 11
ロット・バージョン#1
チェックアウト
コミット 221 1
加工
11 11
ロット・バージョン#1
うっかり開いて保存 22 11
ロット・バージョン#1
【共有フォルダ管理】
直接開くと、誤って加
工、うっかりまたは自
動で上書きしてしまう
リスクが高い
編集モードで開いて保存してしまうと次
に見る人が誤ったものを見てしまう
明示的に確定(コミット)
して初めてサーバに反映
サーバー(リポジトリ)
10. 4. バージョン管理システムの効果
(3) 上書きしたとしても戻しやすい
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 9
【VCSで管理】
ローカルでも戻せるし、
誤って確定しても、
サーバーから「自分
で」戻せる
【共有フォルダ管理】
サーバ管理者にお願
いして、バックアップか
ら戻す
ファイルを上書きしてしまったとしても、戻しやすい
サーバのバッ
クアップ
ファイルA
ファイルA ファイルA
ファイルA
誤って保存したファイル
誤って保存したファイル
ファイルAファイルA
誤って確定したファイル
PC サーバ
確定前:取り消すことで編集前(確
定時点)に戻すことができる
確定後:確定(コミット)後でもコミッ
トを取り消す(記録は残る)ことがで
きる。
共有ファイルを保存してしまったら、管理者にお
願いしてバックアップから戻してもらう。
11. 4. バージョン管理システムの効果
(4) コンフリクトが通知される
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 10
【VCSで管理】
同世代以前のファイ
ルから先に保存した
人がいた場合、後の
人には警告が出され
る
【共有フォルダ管理】
共有ファイルの場合は
同時に編集モードで
は開けない
複数人で同一ファイルを編集して編集が被った場合、通知される。
File
Open
Read
Only
共有ファイルを
直接開く場合、
後から開く方は
読取モードでし
か開かない
ローカルにコ
ピーして戻す場
合、上書きさ
れ、前の変更
が消える
PC PC
COPYCOPY
サーバに確定しようと
したタイミングで、コンフ
リクトがある旨警告さ
れる(上書きの確認で
はない)
話し合って処理を決
定する。
PC PC
COPYCOPY
12. 4. バージョン管理システムの効果
(5) 枝分かれ(ブランチ)が管理できる
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 11
【VCSで管理】
システム自体が枝分
かれの情報を持ってい
るので、間違いがない
【共有フォルダ管理】
共有ファイルの場合は
フォルダの命名規則な
どで管理する
分岐(ブランチ)の情報をシステムで管理しているので間違えが起こらない。
1.0 1.1 1.2 1.3
2.0 2.1
バージョン1.1を枝分かれさせ、それをも
とに2.x系を開発する、と仮定
1.0 1.1
1.3 2.1
1.2
2.0
フォルダにつけた名前を元に運用、多く
なると管理しきれなくなることが多い
フォルダに名前をつける
1.0 1.1 1.2 1.3
2.0 2.1
VCSは、分岐したブランチの情報を保持して
いる。”2.1の元は2.0”との情報をシステムが
保持している(正確には少し違うが)ので、
バージョンの系統で間違えない。
13. 4. バージョン管理システムの効果
(6) テキストファイルは差分を管理
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 12
テキストファイルでは差分を管理しているため、確定の際の差分が明確。
差分を統合(マージ)する際の助けになる。
確
定
確
定
確
定
確定の度に、修正前との差分を記録してい
る
確
定
確
定
A系で行われた変更をB系に統合(マージ)する。
A系
B系
14. 5. バージョン管理システムの効果
(まとめ)
(1) ファイルの重複がない
(2) 誤った上書きがされにくい
(3) 上書きしたとしても戻しやすい
(4) コンフリクトが通知される
(5) 枝分かれ(ブランチ)も管理できる
(6) テキストファイルは差分を管理
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E D 13
17. THANK YOU
C O P Y R I G H T ( C ) 2 0 2 0 O S S P L A Z A . C O M A L L R I G H T R E S E R V E DOSSPlaza.com 16
さて、いかがだったでしょうか。
「バージョン管理の基本的な概念」「効果」がご理解ただけた
らなら幸いです。
まだボンヤリしかわからない方がほとんどだと思います。具体
的なソフトウェアの使い方で学べばきっとイメージが湧くと思い
ますので、Subversion/Gitの学習に進んでいただけたらいい
な、と思います。