はこだてika夜間勉強会 バージョン管理#01 -subversion編-
DESCRIPTION
はこだてIKA夜間勉強会で使用した資料です。TRANSCRIPT
![Page 1: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/1.jpg)
はこだてIKA 夜間勉強会
バージョン管理- Subversion 編 -
skomatsufacebook.com/comutt, @comutt, id:comutt
atWare, Inc.February 28, 2013
![Page 2: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/2.jpg)
必要なもの
• ネットワークに接続できるPC/Mac
• Subversive プラグイン導入済 Eclipse
• Google Code にアクセスするためのGoogle アカウント
![Page 3: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/3.jpg)
Google Code
• URL: https://code.google.com/p/vcs01-svn/
• Wiki:
• https://code.google.com/p/vcs01-svn/wiki/VCS01
• https://code.google.com/p/vcs01-svn/wiki/SubversionLinks
• リンク集は、TortoiseSVN以外にも追加しておきます
![Page 4: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/4.jpg)
バージョンとは
• Ver. 1.2 や Rev. 3 など
• コンテンツの「状態」を一意に表すID
![Page 5: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/5.jpg)
<html></html>
ver.1
![Page 6: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/6.jpg)
<html></html>
ver.1
<html><body></body></html>
ver.2
![Page 7: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/7.jpg)
<html></html>
ver.1
<html><body></body></html>
ver.2
<html><body> <h1>HTML</h1></body></html>
ver.3
![Page 8: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/8.jpg)
原則
• コンテンツの状態が変化すると、バージョンが変化する
• バージョンは、一意のID
![Page 9: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/9.jpg)
バージョン管理とは
• コンテンツのバージョンを管理する
![Page 10: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/10.jpg)
人力バージョン管理
![Page 11: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/11.jpg)
人力バージョン管理
index.html.201302012/1 に作った初版。日付をつけた。
![Page 12: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/12.jpg)
人力バージョン管理
index.html.201302012/1 に作った初版。日付をつけた。
2/1 に作った第2版。日付だとかぶるので少し変化。
index.html.20130201_02
![Page 13: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/13.jpg)
人力バージョン管理
index.html.201302012/1 に作った初版。日付をつけた。
2/1 に作った第2版。日付だとかぶるので少し変化。
index.html.20130201_02
直前のバージョン。安易に .bak にリネームした。 index.html.bak
![Page 14: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/14.jpg)
人力バージョン管理
index.html.201302012/1 に作った初版。日付をつけた。
2/1 に作った第2版。日付だとかぶるので少し変化。
index.html.20130201_02
直前のバージョン。安易に .bak にリネームした。 index.html.bak
最新版 index.html
![Page 15: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/15.jpg)
問題点バージョンの表見規則の人依存
![Page 16: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/16.jpg)
![Page 17: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/17.jpg)
• バージョンの表現規則が人依存
![Page 18: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/18.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)
![Page 19: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/19.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)• 人力インクリメント(_01, _02など)
![Page 20: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/20.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)• 人力インクリメント(_01, _02など)• 合わせ技(YYYYMMDD_01など)
![Page 21: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/21.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)• 人力インクリメント(_01, _02など)• 合わせ技(YYYYMMDD_01など)
• 人依存なのでファイルごとにばらばらになったりする
![Page 22: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/22.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)• 人力インクリメント(_01, _02など)• 合わせ技(YYYYMMDD_01など)
• 人依存なのでファイルごとにばらばらになったりする• index.html.01
![Page 23: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/23.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)• 人力インクリメント(_01, _02など)• 合わせ技(YYYYMMDD_01など)
• 人依存なのでファイルごとにばらばらになったりする• index.html.01• index.css.20130201
![Page 24: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/24.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)• 人力インクリメント(_01, _02など)• 合わせ技(YYYYMMDD_01など)
• 人依存なのでファイルごとにばらばらになったりする• index.html.01• index.css.20130201• main.js.test
![Page 25: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/25.jpg)
• バージョンの表現規則が人依存• 日付(YYYYMMDDなど)• 人力インクリメント(_01, _02など)• 合わせ技(YYYYMMDD_01など)
• 人依存なのでファイルごとにばらばらになったりする• index.html.01• index.css.20130201• main.js.test
★複数人の作業で人数が増えるほどカオスに★統一を図るのは不可能
![Page 26: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/26.jpg)
問題点バージョンの「単位」が人依存
![Page 27: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/27.jpg)
![Page 28: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/28.jpg)
• ファイル単位
![Page 29: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/29.jpg)
• ファイル単位• index.html.01
![Page 30: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/30.jpg)
• ファイル単位• index.html.01• index.css.20130201
![Page 31: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/31.jpg)
• ファイル単位• index.html.01• index.css.20130201• main.js.test
![Page 32: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/32.jpg)
• ファイル単位• index.html.01• index.css.20130201• main.js.test
• ディレクトリ単位
![Page 33: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/33.jpg)
• ファイル単位• index.html.01• index.css.20130201• main.js.test
• ディレクトリ単位• images.bak/
![Page 34: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/34.jpg)
• ファイル単位• index.html.01• index.css.20130201• main.js.test
• ディレクトリ単位• images.bak/• js.old/
![Page 35: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/35.jpg)
• ファイル単位• index.html.01• index.css.20130201• main.js.test
• ディレクトリ単位• images.bak/• js.old/• css/20130201/
![Page 36: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/36.jpg)
• ファイル単位• index.html.01• index.css.20130201• main.js.test
• ディレクトリ単位• images.bak/• js.old/• css/20130201/
★バージョンの管理単位がばらばら★特定のバージョンに一括で戻すのが困難★リリース後バグが判明したので切り戻したい★過去のリリースバージョンを参照したい
![Page 37: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/37.jpg)
問題点安全に共有できない
![Page 38: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/38.jpg)
![Page 39: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/39.jpg)
• ファイルサーバで共有
![Page 40: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/40.jpg)
• ファイルサーバで共有• 自分の作業場所: C:¥project¥hoge
![Page 41: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/41.jpg)
• ファイルサーバで共有• 自分の作業場所: C:¥project¥hoge
• 共有場所: ¥¥Server¥project¥hoge
![Page 42: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/42.jpg)
• ファイルサーバで共有• 自分の作業場所: C:¥project¥hoge
• 共有場所: ¥¥Server¥project¥hoge
• 共有タイミングが人依存
![Page 43: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/43.jpg)
• ファイルサーバで共有• 自分の作業場所: C:¥project¥hoge
• 共有場所: ¥¥Server¥project¥hoge
• 共有タイミングが人依存• 同時編集の可能性
![Page 44: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/44.jpg)
• ファイルサーバで共有• 自分の作業場所: C:¥project¥hoge
• 共有場所: ¥¥Server¥project¥hoge
• 共有タイミングが人依存• 同時編集の可能性
★複数人の作業では共有が困難★Aさんの変更が、 Bさんによって上書きされてしまうリスク★ソースコードが壊れてしまうリスク
![Page 45: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/45.jpg)
問題点履歴管理が困難
![Page 46: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/46.jpg)
![Page 47: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/47.jpg)
• コメントで履歴管理
![Page 48: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/48.jpg)
• コメントで履歴管理• <!-- 2013/02/03 skomatsu
スライドショーを追加 -->
![Page 49: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/49.jpg)
• コメントで履歴管理• <!-- 2013/02/03 skomatsu
スライドショーを追加 -->
• <!-- 2013/02/04 ishikawa スライドショーを修正 -->
![Page 50: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/50.jpg)
• コメントで履歴管理• <!-- 2013/02/03 skomatsu
スライドショーを追加 -->
• <!-- 2013/02/04 ishikawa スライドショーを修正 -->
• <!-- 2013/02/05 matsudate 下記バグあり。コメントアウト -->
![Page 51: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/51.jpg)
• コメントで履歴管理• <!-- 2013/02/03 skomatsu
スライドショーを追加 -->
• <!-- 2013/02/04 ishikawa スライドショーを修正 -->
• <!-- 2013/02/05 matsudate 下記バグあり。コメントアウト -->
★履歴管理がカオスに★差分なんて見れたものではない★誰が、いつ、何の変更をしたか、が不明確
![Page 52: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/52.jpg)
問題点作業分岐が困難
![Page 53: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/53.jpg)
![Page 54: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/54.jpg)
• 保守チーム
![Page 55: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/55.jpg)
• 保守チーム• バグフィックスなどの修正
![Page 56: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/56.jpg)
• 保守チーム• バグフィックスなどの修正
• 新機能A開発チーム
![Page 57: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/57.jpg)
• 保守チーム• バグフィックスなどの修正
• 新機能A開発チーム• 機能追加開発
![Page 58: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/58.jpg)
• 保守チーム• バグフィックスなどの修正
• 新機能A開発チーム• 機能追加開発
• 新機能B開発チーム
![Page 59: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/59.jpg)
• 保守チーム• バグフィックスなどの修正
• 新機能A開発チーム• 機能追加開発
• 新機能B開発チーム• Aチームとは別の機能追加開発
![Page 60: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/60.jpg)
• 保守チーム• バグフィックスなどの修正
• 新機能A開発チーム• 機能追加開発
• 新機能B開発チーム• Aチームとは別の機能追加開発
★複数チームが同時開発すると、 バッティングすることがあるので、 コードベースを分けたい★分けて開発★一本化しようとしたら、マージ地獄★マージし終わっても、あとから見ると出生不明
![Page 61: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/61.jpg)
バージョン管理システム
• 略してVCS(Version Control System)
• ソース管理(SCM)とも言う
![Page 62: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/62.jpg)
利点
![Page 63: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/63.jpg)
利点
• バージョン管理規則は使用するVCSまかせ
![Page 64: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/64.jpg)
利点
• バージョン管理規則は使用するVCSまかせ
• 複数人作業を手厚くサポート
![Page 65: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/65.jpg)
利点
• バージョン管理規則は使用するVCSまかせ
• 複数人作業を手厚くサポート
• 履歴管理、閲覧、差分取得が容易
![Page 66: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/66.jpg)
利点
• バージョン管理規則は使用するVCSまかせ
• 複数人作業を手厚くサポート
• 履歴管理、閲覧、差分取得が容易
• 作業分岐、再統合が容易
![Page 67: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/67.jpg)
使っていないなら明日からすぐ使って下さい
![Page 68: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/68.jpg)
種類
• 集中管理型
ref: http://www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html
![Page 69: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/69.jpg)
種類
• 分散型
ref: http://www.atmarkit.co.jp/fjava/rensai4/devtool03/devtool03_1.html
![Page 70: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/70.jpg)
種類
![Page 71: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/71.jpg)
種類
• 集中管理型(一例)• フリー: Subversion, CVS
• 商用: Perforce, Team Foundation Server Clear Case, Visual SourceSafe
![Page 72: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/72.jpg)
種類
• 集中管理型(一例)• フリー: Subversion, CVS
• 商用: Perforce, Team Foundation Server Clear Case, Visual SourceSafe
• 分散型(一例)• フリー: Git, Mercurial, Bazaar, Monotone
• 商用: BitKeeper, Code Co-op, Synergy
![Page 73: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/73.jpg)
Subversion集中管理型リポジトリのデファクトスタンダード
![Page 74: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/74.jpg)
仕組み
作業コピー リポジトリ
![Page 75: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/75.jpg)
仕組み
①(最新版)取得作業コピー リポジトリ
![Page 76: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/76.jpg)
仕組み
②変更
①(最新版)取得作業コピー リポジトリ
![Page 77: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/77.jpg)
仕組み
②変更
③登録
①(最新版)取得作業コピー リポジトリ
![Page 78: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/78.jpg)
仕組み
②変更
③登録
①(最新版)取得
• 登録・・・コミット
作業コピー リポジトリ
![Page 79: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/79.jpg)
仕組み
②変更
③登録
①(最新版)取得
• 登録・・・コミット
• 取得・・・チェックアウト、アップデート
作業コピー リポジトリ
![Page 80: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/80.jpg)
基本的な使い方
![Page 81: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/81.jpg)
基本的な使い方1.チェックアウト/アップデート
• 作業ディレクトリに最新版を取得
![Page 82: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/82.jpg)
基本的な使い方1.チェックアウト/アップデート
• 作業ディレクトリに最新版を取得
2.変更• 作業ディレクトリ内のファイルを修正
![Page 83: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/83.jpg)
基本的な使い方1.チェックアウト/アップデート
• 作業ディレクトリに最新版を取得
2.変更• 作業ディレクトリ内のファイルを修正
3.コミット• 作業ディレクトリ内のファイルをリポジトリに登録
![Page 84: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/84.jpg)
リポジトリ
![Page 85: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/85.jpg)
• コンテンツが履歴管理されている
リポジトリ
![Page 86: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/86.jpg)
• コンテンツが履歴管理されている
• 変更をコミットすると、自動的にバージョン(リビジョン)が上がる
リポジトリ
![Page 87: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/87.jpg)
作業コピー
![Page 88: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/88.jpg)
• リポジトリと紐付いたローカルディレクトリ
作業コピー
![Page 89: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/89.jpg)
• リポジトリと紐付いたローカルディレクトリ• リポジトリに意図的にコミットするまで、コンテンツは同期されない
作業コピー
![Page 90: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/90.jpg)
• リポジトリと紐付いたローカルディレクトリ• リポジトリに意図的にコミットするまで、コンテンツは同期されない
• コミットせずに取り消すこともできる
作業コピー
![Page 91: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/91.jpg)
• リポジトリと紐付いたローカルディレクトリ• リポジトリに意図的にコミットするまで、コンテンツは同期されない
• コミットせずに取り消すこともできる• 作業コピーを消しても、リポジトリは消えない
作業コピー
![Page 92: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/92.jpg)
Subversionとは• 元々 CollabNet, Inc. が開発したVCS
• CVSの置き換えを狙って作られた
• 2010年にApacheトッププロジェクト
• Apacheライセンス(オープンソース)
• Win/Mac/Linux など、幅広いプラットフォームで動作
![Page 93: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/93.jpg)
GUIクライアント
• Windows
• TortoiseSVN など
• Mac
• Versions, Cornerstone など
• Linux
• Esvn, RabbitVCS など
![Page 94: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/94.jpg)
IDE連携
• バージョン管理連携機能がついたIDEでは、Subversionは対応済みのことが多い
• Eclipse
• Visual Studio
• Xcode
• etc..
![Page 95: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/95.jpg)
Subversion 初歩
![Page 96: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/96.jpg)
1. チェックアウト
![Page 97: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/97.jpg)
1. チェックアウト
• チェックアウトに必要なもの
![Page 98: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/98.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
![Page 99: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/99.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...
![Page 100: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/100.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...
![Page 101: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/101.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...• file://...
![Page 102: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/102.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...• file://...
• (ユーザ)
![Page 103: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/103.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...• file://...
• (ユーザ)• (パスワード)
![Page 104: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/104.jpg)
URL?サーバが必要?
![Page 105: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/105.jpg)
YESおおむね、必要。
が、無くてもできる。
![Page 106: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/106.jpg)
file://...ローカルディレクトリや、
共有ディレクトリに使える。
![Page 107: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/107.jpg)
今からバージョン管理始めるなら
とりあえず file://... で始めるのが楽
→ あとからサーバ移行もできる
![Page 108: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/108.jpg)
Windows しかないならTortoiseSVN で全部完結
![Page 109: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/109.jpg)
なので
![Page 110: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/110.jpg)
バージョン管理していないなら明日からすぐ!
![Page 111: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/111.jpg)
TortoiseSVNの良い良い参考サイト紹介
http://techblog.yahoo.co.jp/tips/subversion-for-designers-01/
http://techblog.yahoo.co.jp/tips/subversion-for-designers-02/
もうファイル管理で困らない! デザイナーのためのSubversion/TortoiseSVN入門
デザイナーのためのSubversion/TortoiseSVN入門2 -Subversionでのフォルダーの命名・構成とTortoiseSVNの便利な使い方-
http://d.hatena.ne.jp/sinsoku/20100405/1270397683TortoiseSVNの基本的な使い方 その1
![Page 112: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/112.jpg)
TortoiseSVNの良い良い参考サイト紹介
http://techblog.yahoo.co.jp/tips/subversion-for-designers-01/
http://techblog.yahoo.co.jp/tips/subversion-for-designers-02/
もうファイル管理で困らない! デザイナーのためのSubversion/TortoiseSVN入門
デザイナーのためのSubversion/TortoiseSVN入門2 -Subversionでのフォルダーの命名・構成とTortoiseSVNの便利な使い方-
http://d.hatena.ne.jp/sinsoku/20100405/1270397683TortoiseSVNの基本的な使い方 その1
Google Code の Wiki にリンク集として掲載してます
![Page 113: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/113.jpg)
1. チェックアウト脱線
したので再掲
![Page 114: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/114.jpg)
1. チェックアウト
• チェックアウトに必要なもの
脱線したので再掲
![Page 115: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/115.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
脱線したので再掲
![Page 116: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/116.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...
脱線したので再掲
![Page 117: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/117.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...
脱線したので再掲
![Page 118: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/118.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...• file://...
脱線したので再掲
![Page 119: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/119.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...• file://...
• (ユーザ)
脱線したので再掲
![Page 120: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/120.jpg)
1. チェックアウト
• チェックアウトに必要なもの• URL
• https://...• svn://...• file://...
• (ユーザ)• (パスワード)
脱線したので再掲
![Page 121: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/121.jpg)
皆さんにはすでにしていただきました
![Page 122: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/122.jpg)
作業コピーを見てみよう
• 手順通りにチェックアウトしたなら
• Windows の方
• C:¥tech-study¥workspace¥sample-web
• Mac の方
• ~/Documents/tech-study/workspace/sample-web
![Page 123: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/123.jpg)
作業コピーを見てみよう
![Page 124: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/124.jpg)
作業コピーを見てみよう
★.svn ディレクトリがある = 作業コピー(OSの設定によっては表示されません)
![Page 125: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/125.jpg)
2. 変更
![Page 126: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/126.jpg)
2. 変更
• Eclipse で、それぞれHTMLファイルを作成してください
![Page 127: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/127.jpg)
2. 変更
• Eclipse で、それぞれHTMLファイルを作成してください
• testN.html (Nは数字)というファイル名で作成してください
![Page 128: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/128.jpg)
(1) public_html の上で右クリック
(2) New をクリック
(3) File をクリック
![Page 129: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/129.jpg)
(1) ファイル名を入力
(2) Finish をクリック
![Page 130: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/130.jpg)
? がついてる= まだバージョン管理されていない
なにか、適当なHTMLを入力して保存してください
![Page 131: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/131.jpg)
3. コミット
![Page 132: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/132.jpg)
3. コミット
• 作成したHTMLをコミットしてください
![Page 133: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/133.jpg)
(1) sample-web を右クリック
(2) Team をクリック
(3) リポジトリーと同期をクリック
![Page 134: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/134.jpg)
(1) + アイコンでツリーを展開
(2) 新たに test0.html をバージョン管理下におくことを意味する
(3) 赤い方の矢印をクリックしてコミット
![Page 135: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/135.jpg)
(1) コミットメッセージを入力
(2) 自分が作成したファイルが追加対象になってることを確認
(3) OKをクリック
![Page 136: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/136.jpg)
コミットメッセージ?
なにそれおいしいの?
![Page 137: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/137.jpg)
無いと困る
![Page 138: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/138.jpg)
コミットメッセージ
![Page 139: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/139.jpg)
コミットメッセージ
• コミット時に、任意のコメントを書ける
![Page 140: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/140.jpg)
コミットメッセージ
• コミット時に、任意のコメントを書ける• そのコミットが、何の意図を持ってしたのかなどをコメントする
![Page 141: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/141.jpg)
コミットメッセージ
• コミット時に、任意のコメントを書ける• そのコミットが、何の意図を持ってしたのかなどをコメントする• 後から履歴を追うときに大変重要
![Page 142: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/142.jpg)
コミットメッセージ
• コミット時に、任意のコメントを書ける• そのコミットが、何の意図を持ってしたのかなどをコメントする• 後から履歴を追うときに大変重要• コミットメッセージがないと、「この変更は何なの?」となりやすい
![Page 143: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/143.jpg)
コミットメッセージの例
![Page 144: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/144.jpg)
コミットメッセージの例
• BUG xxx を修正
![Page 145: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/145.jpg)
コミットメッセージの例
• BUG xxx を修正• ストーリー yyy を実装
![Page 146: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/146.jpg)
コミットメッセージの例
• BUG xxx を修正• ストーリー yyy を実装• チケット zzz を完了
![Page 147: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/147.jpg)
コミットメッセージの例
• BUG xxx を修正• ストーリー yyy を実装• チケット zzz を完了• ○○を実装。実はまだ△△機能がIEで動かない。
![Page 148: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/148.jpg)
コミットメッセージの例
• BUG xxx を修正• ストーリー yyy を実装• チケット zzz を完了• ○○を実装。実はまだ△△機能がIEで動かない。
補足情報もいれると、コミットログの情報量が増えて良い
![Page 149: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/149.jpg)
4. 履歴を見る
![Page 150: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/150.jpg)
4. 履歴を見る
• Eclipse で、 sample-web プロジェクトの履歴を確認してください
![Page 151: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/151.jpg)
(1) Java パースペクティブを選択
![Page 152: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/152.jpg)
(1) sample-web を右クリック
(2) Team を選択
(3) リソース・ヒストリーを表示 をクリック
![Page 153: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/153.jpg)
![Page 154: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/154.jpg)
リビジョン履歴が表示される
![Page 155: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/155.jpg)
リビジョン履歴が表示される
該当リビジョンでの変更ファイル
![Page 156: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/156.jpg)
5. さらに変更を加える
![Page 157: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/157.jpg)
5. さらに変更を加える
• 追加したファイル(testN.html)に、何か変更を加えてください
![Page 158: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/158.jpg)
5. さらに変更を加える
• 追加したファイル(testN.html)に、何か変更を加えてください• <p>一行追加</p> みたいなのでいいです
![Page 159: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/159.jpg)
(1) 何か変更する
(2) 変更があることを意味する「>」印がつく
![Page 160: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/160.jpg)
(1) sample-web を右クリック
(2) Team をクリック
(3) リポジトリーと同期をクリック
![Page 161: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/161.jpg)
(1) ツリーを展開
(2) コミット可能な変更があることを意味する「→」マークがついている
(3) sample.html をダブルクリックする
![Page 162: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/162.jpg)
ローカルファイルの状態
![Page 163: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/163.jpg)
リポジトリ最新の状態
リポジトリ最新に比べて、一行追加されている
![Page 164: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/164.jpg)
コミットボタンをクリック
![Page 165: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/165.jpg)
コミットメッセージの入力
OKをクリック
![Page 166: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/166.jpg)
6. 差分を見る
• 追加した testN.html を右クリックし、Team -> リソース・ヒストリーを表示をクリックしてください
• 選択したリビジョン間の差分を見ることができます• 比較したいリビジョンをCtrl/Cmdを押しながら選択
• Compare with Each Other
![Page 167: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/167.jpg)
一歩進んだバージョン管理
![Page 168: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/168.jpg)
ブランチ
• 日本語訳: 枝
• ソースコードを枝分かれさせたいとき
• 機能単位、作業単位で枝分けしたりする
• メインの枝は幹(trunk)
![Page 169: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/169.jpg)
Subversion でのブランチ• 以下のようなツリー構造が推奨されている
• branches 配下に、各ブランチを格納
リポジトリ├── trunk│ └── trunk のソースコード└── branches ├── branch1 │ └── branch1 のソースコード └── branch2 └── branch2 のソースコード
![Page 170: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/170.jpg)
タグ
• 洋服などについてる「タグ」と同じ意味
• ラベルとも言える
• 特定のバージョンに名前を付けたいときに使う
![Page 171: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/171.jpg)
Subversion でのタグ• 以下のようなツリー構造が推奨されている
• tags 配下に、各タグを格納
リポジトリ├── trunk│ └── trunk のソースコード└── tags ├── tag1 │ └── tag1 のソースコード └── tag2 └── tag2 のソースコード
![Page 172: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/172.jpg)
ブランチの活用例1
• trunkはメインストリーム版
• branchはベータ版
![Page 173: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/173.jpg)
ブランチの活用例2
• trunkはFIXしたソースコードのみ
• 開発はすべてbranchで行う
• 開発完了したbranchはtrunkにマージする
![Page 174: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/174.jpg)
弊社での例
• trunk・・・メインストリーム、FIX済み専用
• branch・・・機能ごと、BUGFIXごとにブランチ
• tag・・・リリースバージョンごとにタグ
![Page 175: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/175.jpg)
リポジトリ├── trunk├── branches│ ├── redmine-1│ ├── redmine-2│ └── redmine-3└── tags ├── release-1.0.0 ├── release-1.0.1 └── release-1.1.0
• チケット駆動開発• どのブランチでどの機能開発・BUGFIXをしているか一目瞭然
• ソースが混在しない
![Page 176: はこだてIKA夜間勉強会 バージョン管理#01 -Subversion編-](https://reader038.vdocuments.pub/reader038/viewer/2022102901/555e5841d8b42ad74a8b524d/html5/thumbnails/176.jpg)
おわり
• 2時間でハンズオン混みで、Subversion によるバージョン管理の魅力をお伝えするのはなかなか難しいですね(私の講師力が低いとも)。
• Git編もやりたいのですが、それよりももっと Subversion を活用した例、バックアップなどの運用ノウハウなど聞きたい方が居れば、リクエストください。
• お疲れさまでした。