超簡単!Subversion入門 概念編

超簡単!
Subversion入門
(概念編)
2 0 2 0 . 5 . 2
た に や ん
OSSPlaza.com
0. 本スライドで説明すること
Subversion(サブバージョン)を使用するに当たって必要と
なる、
・基本的な動作と用語
を説明します。デモはありません。
これからSubversionを使う方が、管理者や他のユーザと
Subversionについての会話ができる、ようになることが目
標です。
C O P Y R I G H T ( C ) 2 0 1 9 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 . 2OSSPlaza.com
1. SUBVERSIONとは
Subversionは「サブバージョン」またはApache Subversion(アパッチ・サブ
バージョン)と呼ばれる、
一種の文書データベース
です。「版(バージョン)を管理」しているので、
「バージョン管理システム」とも呼ばれます。
Subversionのソフトウェアはオープンソースとなっており、アパッチ財団の一プ
ロジェクトとして公開されて開発されています。
C O P Y R I G H T ( C ) 2 0 1 9 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 . 3OSSPlaza.com
2. 一番覚えていただきたいこと
2.1 SUBVERSIONはクライアント・サーバ型
サーバーにデータベースである「リポジトリ」を置いて管理。パソコン側のフォル
ダに「作業コピー(ワーキングコピー)」を置いて、クライアント・サーバ間でファイ
ルを同期します。
作業コピーはローカルPC上にフォルダとして作られます。OS上のファイルや
フォルダに見えますが、Subversionの管理下、にあります。
同期
コミット
チェックアウト/更新
リポジトリ作業コピー
C O P Y R I G H T ( C ) 2 0 1 9 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 . 4OSSPlaza.com
2. 一番覚えていただきたいこと
2.2 クライアント・ソフトが必要です
クライアント・サーバ型なので、通常のWebブラウザではなく、クライアント・ソ
フトが必要です。Subversion自身のクライアントはコマンドで使用します。そ
れでは不便なのでTortoiseSVN(トータスS.V.N)のようなGUIを備えた専用ソ
フトが広く使われるほか、CADやプログラム開発ツールのプラグインの形で動
くものもあります。
C O P Y R I G H T ( C ) 2 0 1 9 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 . 5OSSPlaza.com
Windowsではデファクト・スタンダードのSubversionク
ライアント。Windowsの右クリックメニューに入って動作
する。
2. 一番覚えていただきたいこと
2.3 サーバとの同期は「明示的に」行う
同期は、手動です。自動ではありません。「この変更はサーバに反映されて
いるか?」「サーバ側の変更をちゃんと取り込んでいるか?」気にかけて作業
する必要がある。
同期
コミット
チェックアウト/更新
リポジトリ作業コピー
更新しない限り、リポジトリの最新が反映されない
コミットしない限り、リポジトリに
反映されない
C O P Y R I G H T ( C ) 2 0 1 9 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 . 6OSSPlaza.com
3. リポジトリ
同期する対象のファイルの構造を「リポジト
リ」と言います。
まずは、サーバにリポジトリを作ります。その
際、ローカルからコピー(インポート)します。
または、空のリポジトリをチェックアウトして、
作業コピーのファイルやフォルダを整えて最
初のデータをコミットします。
管理者
サーバ
リポジトリ
C O P Y R I G H T ( C ) 2 0 1 9 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 . 7OSSPlaza.com
インポート
4. 作業コピーとSVNチェックアウト
サーバのリポジトリを個々のローカルに最新
版をコピー(SVNチェックアウト)します。
これでみんなが同じデータを持ちます。
ローカルの情報は「作業コピー」といいます。
管理者
サーバ
田中さん
作業コピー
松下さん
作業コピー
ローカルにコピー:
チェックアウト
C O P Y R I G H T ( C ) 2 0 1 9 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 . 8OSSPlaza.com
ローカルのPCに単にコピー
しているのではなく、この作
業コピーはSubversionの
管理下にあります
5.SVNコミット、リビジョン
管理者
サーバ
田中さん 松下さん
反映:
コミット
田中さんが、ファイルを更新し、それをサー
バのリポジトリに反映します。
(SVNコミット)(チェックイン、という人もいる)
コミットすると、リビジョンが1つが上がります。
ところがこれで各々のローカルに差が出てし
まいます。
C O P Y R I G H T ( C ) 2 0 1 9 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 . 9OSSPlaza.com
6.SVN更新
これを今度は自分のローカルのフォルダに同
期を取ります。
ころを「SVN更新」といいます。
管理者
サーバ
田中さん 松下さん
ローカルに同期:
更新
C O P Y R I G H T ( C ) 2 0 1 9 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 . 10OSSPlaza.com
7. 追加と削除
作業コピーのフォルダに「ファイルを置いただけ」では、リポジトリに反映してくれない。
ファイルを置いた上で「追加」する。
また、不要になったファイルの削除もTortoiseSVNから行う。
松下さん
作業コピー(Subversion)
の管理下
新しいファイルの追加
X 不要ファイルの削除
C O P Y R I G H T ( C ) 2 0 1 9 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 . 11OSSPlaza.com
8.トランク、タグとブランチ
Subversionでは基本の開発ラインを「トランク」という。そして、トランクの「あ
る状態(リビジョン)」のスナップショットを「タグ」、枝分かれして派生した開発
ラインを「ブランチ」という。
作業の際、トランク、ブランチ、タグの間を行ったり来たりする事を「切り替
え」という。
ブランチ
トランク
タグ
r1 r2
r3
r4
r5
r6
r7
C O P Y R I G H T ( C ) 2 0 1 9 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 . 12OSSPlaza.com
B-1
B1-00GA
9. 競合(コンフリクト)
「競合(コンフリクト)」は、他の人の修正と自分の修正が両立しないで競合
すること。
田中さん
松下さん
R1を
チェックアウト
R1を
チェックアウト
R2コミット
田中さんがコミットを試みるが、松下さんの変更と
競合する
警告されるので、無理やりコミットせずに「話し合っ
て」処理を決める
C O P Y R I G H T ( C ) 2 0 1 9 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 . 13OSSPlaza.com
10. ロック
「ロック」は、他に人のコミットを防止する機能。
田中さん
松下さん
R1を
チェックアウト
R1を
チェックアウト
ロック
田中さんがコミットを試みるが、松下さんがロックをかけてい
るので、更新できない
C O P Y R I G H T ( C ) 2 0 1 9 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 . 14OSSPlaza.com
11. (参考) マージ
「マージ」は、ある変更をトランクや他のブランチなどに統合すること。テキス
トファイルの場合、Subversionは変更差分を管理している。そのためのマー
ジ支援機能もある。テキストでない場合は人間が処理する。
C O P Y R I G H T ( C ) 2 0 1 9 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 . 15OSSPlaza.com
ブランチ
トランク
r3 r6
B-1
r1 r2 r5 r7
リビジョン6の変更
をトランクにマージ
12. まとめ
【用語】
リポジトリ 作業コピー(ワーキングコピー)
チェックアウト 更新
コミット リビジョン
コンフリクト トランク
タグ ブランチ
マージ
C O P Y R I G H T ( C ) 2 0 1 9 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 . 16OSSPlaza.com
• Subversionはクライアント・サーバ型
• クライアント・ソフトが必要
• サーバとの同期は「明示的に」行う
OSSPlazaでは、お役に立ちそうな情報発信しています。
Webサイト
https://www.ossplaza.com/
Twitter
https://www.twitter.com/ossplaza
Youtube
https://www.youtube.com/
にて、”OSSちゃんねる”または”OSSplaza”を検索
Slideshare
https://www.slideshare.net/ (twitter/youtubeにリンクを貼ります)
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 17OSSPlaza.com
OSSPlaza.com
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 18OSSPlaza.com
OSSPlaza.com
弊社で「サーバ構築」する際、OSの準備まではお客様に用意していただくのですが、その際本
書の手順+ネットワーク設定、までをお願いしています(仮想環境はVirtualBoxではないことが
多いのでお客様にお願いしています)。
本書中に登場する会社名、製品名は各社の登録商標または商標です。本文中では
®©TMなどの記載は省略しています。
本書は、エイチスリーパートナーズ有限会社にて行なったインストールなどの結果を掲載してい
るのみであり、内容については一切保証していません。読者の責任においてご利用ください。
著作者人格権はエイチスリーパートナーズに帰属しますが、個人や社内で自由に複写して構
いません。
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 19
注意:
C O P Y R I G H T ( C ) 2 0 1 9 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 . 20
1 of 20

More Related Content

What's hot(20)

Airflow 2.0 migration ガイドAirflow 2.0 migration ガイド
Airflow 2.0 migration ガイド
Katsunori Kanda754 views
JSF++って何JSF++って何
JSF++って何
Masateru Suzuki216 views
KotlinアンチパターンKotlinアンチパターン
Kotlinアンチパターン
Recruit Lifestyle Co., Ltd.53K views
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
shigeki_ohtsu13.1K views
Argo CD Deep DiveArgo CD Deep Dive
Argo CD Deep Dive
shunki fujiwara20.9K views
IocコンテナについてIocコンテナについて
Iocコンテナについて
Akio Terayama8K views
Google Cloud で実践する SRE  Google Cloud で実践する SRE
Google Cloud で実践する SRE
Google Cloud Platform - Japan5.3K views

Similar to 超簡単!Subversion入門 概念編(20)

Git入門-概念編Git入門-概念編
Git入門-概念編
Shin Tanigawa419 views
OpenShift v3 Technical OverviewOpenShift v3 Technical Overview
OpenShift v3 Technical Overview
Nakayama Kenjiro4.3K views
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
Hiro Yoshioka1.1K views
140917運用管理勉強会job scheduler140917運用管理勉強会job scheduler
140917運用管理勉強会job scheduler
OSSラボ株式会社3.6K views
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
Hiro Yoshioka461 views
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
Masahito Zembutsu14.1K views

超簡単!Subversion入門 概念編