SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
2.
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
3.
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
4.
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
5.
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の右クリックメニューに入って動作
する。
6.
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
7.
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
インポート
8.
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の
管理下にあります
9.
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
10.
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
11.
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
12.
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
13.
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
14.
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
15.
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の変更
をトランクにマージ
16.
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はクライアント・サーバ型
• クライアント・ソフトが必要
• サーバとの同期は「明示的に」行う
17.
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
18.
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