SlideShare a Scribd company logo
1 of 20
Download to read offline
超簡単!
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

More Related Content

What's hot

Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウ
chancelab
 

What's hot (20)

【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS ~ ZFS ファイルシ...
【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS ~ ZFS ファイルシ...【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS ~ ZFS ファイルシ...
【第二回 ゼロからはじめる Oracle Solaris 11】02 Solaris 11 を支える最強のファイルシステム ZFS ~ ZFS ファイルシ...
 
社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ社内ドキュメント検索システム構築のノウハウ
社内ドキュメント検索システム構築のノウハウ
 
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について
 
Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介Docker volume基礎/Project Longhorn紹介
Docker volume基礎/Project Longhorn紹介
 
Docker Tokyo
Docker TokyoDocker Tokyo
Docker Tokyo
 
gRPC入門
gRPC入門gRPC入門
gRPC入門
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造Dockerイメージ管理の内部構造
Dockerイメージ管理の内部構造
 
Guide To AGPL
Guide To AGPLGuide To AGPL
Guide To AGPL
 
DevOps勉強会
DevOps勉強会DevOps勉強会
DevOps勉強会
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
できる!KickstartとAnsible!
できる!KickstartとAnsible!できる!KickstartとAnsible!
できる!KickstartとAnsible!
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
What's new in Spring Batch 5
What's new in Spring Batch 5What's new in Spring Batch 5
What's new in Spring Batch 5
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダ
 
Android起動周りのノウハウ
Android起動周りのノウハウAndroid起動周りのノウハウ
Android起動周りのノウハウ
 
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
そろそろ知っておきたい!!コンテナ技術とDockerのキホンそろそろ知っておきたい!!コンテナ技術とDockerのキホン
そろそろ知っておきたい!!コンテナ技術と Dockerのキホン
 

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

中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
NilOne Ltd.
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
Masataka MIZUNO
 
プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~
ryouta watabe
 

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

Git入門-概念編
Git入門-概念編Git入門-概念編
Git入門-概念編
 
タスクマネージャーの上級版!Process Explorerの紹介
タスクマネージャーの上級版!Process Explorerの紹介タスクマネージャーの上級版!Process Explorerの紹介
タスクマネージャーの上級版!Process Explorerの紹介
 
超簡単!MariaDBをWindowsにインストール
超簡単!MariaDBをWindowsにインストール超簡単!MariaDBをWindowsにインストール
超簡単!MariaDBをWindowsにインストール
 
超簡単!Apache httpサーバをWindows Serverにインストール
超簡単!Apache httpサーバをWindows Serverにインストール超簡単!Apache httpサーバをWindows Serverにインストール
超簡単!Apache httpサーバをWindows Serverにインストール
 
OpenShift v3 Technical Overview
OpenShift v3 Technical OverviewOpenShift v3 Technical Overview
OpenShift v3 Technical Overview
 
超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール超簡単! PythonをWindows Serverにインストール
超簡単! PythonをWindows Serverにインストール
 
超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール超簡単! MySQLをWindowsにインストール
超簡単! MySQLをWindowsにインストール
 
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介中規模Androidアプリ開発の過程に生じた問題と対策の紹介
中規模Androidアプリ開発の過程に生じた問題と対策の紹介
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 
140917運用管理勉強会job scheduler
140917運用管理勉強会job scheduler140917運用管理勉強会job scheduler
140917運用管理勉強会job scheduler
 
はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)
 
超簡単! Payara ServerをWindowsにインストール
超簡単! Payara ServerをWindowsにインストール超簡単! Payara ServerをWindowsにインストール
超簡単! Payara ServerをWindowsにインストール
 
超簡単! PostgreSQLをWindowsにインストール
超簡単! PostgreSQLをWindowsにインストール超簡単! PostgreSQLをWindowsにインストール
超簡単! PostgreSQLをWindowsにインストール
 
クラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれクラウド開発に役立つ OSS あれこれ
クラウド開発に役立つ OSS あれこれ
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
Apache Auroraの始めかた
Apache Auroraの始めかたApache Auroraの始めかた
Apache Auroraの始めかた
 
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
INF-015_そこのコンテナ、うまく積めてるね! ~Windows アプリケーション コンテナの展開と運用~
 
超簡単! Strawberry PerlをWindowsにインストール
超簡単! Strawberry PerlをWindowsにインストール超簡単! Strawberry PerlをWindowsにインストール
超簡単! Strawberry PerlをWindowsにインストール
 
プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~プロとしてのOracleアーキテクチャ入門 ~番外編~
プロとしてのOracleアーキテクチャ入門 ~番外編~
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 

More from Shin Tanigawa

More from Shin Tanigawa (14)

超簡単! Redmineで体験 初めてのチケット管理
超簡単! Redmineで体験 初めてのチケット管理超簡単! Redmineで体験 初めてのチケット管理
超簡単! Redmineで体験 初めてのチケット管理
 
超簡単! インストールなしでRedmineを試す
超簡単! インストールなしでRedmineを試す超簡単! インストールなしでRedmineを試す
超簡単! インストールなしでRedmineを試す
 
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
パケットキャプチャの定番! Wiresharkのインストールとミニ紹介
 
超簡単! TortoiseGitをWindowsにインストール
超簡単! TortoiseGitをWindowsにインストール超簡単! TortoiseGitをWindowsにインストール
超簡単! TortoiseGitをWindowsにインストール
 
超簡単! GitをWindowsにインストール
超簡単! GitをWindowsにインストール超簡単! GitをWindowsにインストール
超簡単! GitをWindowsにインストール
 
超簡単! Node.jsをWindowsにインストール
超簡単! Node.jsをWindowsにインストール超簡単! Node.jsをWindowsにインストール
超簡単! Node.jsをWindowsにインストール
 
超簡単! Bitnami RedmineをWindowsにインストール
超簡単! Bitnami RedmineをWindowsにインストール超簡単! Bitnami RedmineをWindowsにインストール
超簡単! Bitnami RedmineをWindowsにインストール
 
超簡単! JettyをWindowsにインストール
超簡単! JettyをWindowsにインストール超簡単! JettyをWindowsにインストール
超簡単! JettyをWindowsにインストール
 
超簡単!ActivePerlをWindows Serverにインストール
超簡単!ActivePerlをWindows Serverにインストール超簡単!ActivePerlをWindows Serverにインストール
超簡単!ActivePerlをWindows Serverにインストール
 
超簡単!WildflyをWindows Serverにインストール
超簡単!WildflyをWindows Serverにインストール超簡単!WildflyをWindows Serverにインストール
超簡単!WildflyをWindows Serverにインストール
 
超簡単!OpenJDKをWindwos Serverにインストール
超簡単!OpenJDKをWindwos Serverにインストール超簡単!OpenJDKをWindwos Serverにインストール
超簡単!OpenJDKをWindwos Serverにインストール
 
超簡単!TortoiseSVNをWindowsにインストールする
超簡単!TortoiseSVNをWindowsにインストールする超簡単!TortoiseSVNをWindowsにインストールする
超簡単!TortoiseSVNをWindowsにインストールする
 
超簡単!FirefoxブラウザをWindows Server 2019にインストール!
超簡単!FirefoxブラウザをWindows Server 2019にインストール!超簡単!FirefoxブラウザをWindows Server 2019にインストール!
超簡単!FirefoxブラウザをWindows Server 2019にインストール!
 
インストールしてみたWindows Server 2019 on VirtualBox
インストールしてみたWindows Server 2019 on VirtualBoxインストールしてみたWindows Server 2019 on VirtualBox
インストールしてみたWindows Server 2019 on VirtualBox
 

超簡単!Subversion入門 概念編