Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

超簡単!バージョン管理入門 最初の一歩

SubversionやGitといったバージョン管理システムの前提となる「バージョン管理って何?」に答えるスライドです。

  • Login to see the comments

  • Be the first to like this

超簡単!バージョン管理入門 最初の一歩

  1. 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
  2. 2. はじめに OSSPlaza.comはコンピュータのソフトウエアを取り扱う会社(社名は、エイチスリーパートナーズ 有限会社)、たにやんです。 文系大学ー>Sierでプログラマ、サーバSEー>外資IT戦略コンサルー>外資ソフトベンダー 数社ー>脱サラー>大手SIのOSSプロジェクトに参加ー>OSSPlaza.com開始 OSSPlazaでは、サーバの構築やソフトウェアのサポート(障害解析など)を中心にやっています。 仕事の英語(会議や打ち合わせ、お客様訪問の通訳、海外エンジニアとのQ&A)は困らない 程度できますが、勉強は続けています。 健康のため晴れた日は駅まで30分歩きます(雨の日はバス)。お酒もだいぶ減らしました。 サーバ系ソフトウェア関連のネタをTweetします。東京在住。 Twitter: https://twitter.com/ossplaza Site: https://www.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 DOSSPlaza.com 1
  3. 3. このスライド扱うこと このスライドでは、バージョン管理という概念に親しみのない方 を対象に、「バージョン管理とは何か」「どういう効果があるか」 について、できるだけ専門用語を使わずに説明します。 このコンテンツで「バージョン管理の基本的な概念」「効果」が 理解できると思います。 特定のソフトウェアの説明には踏み込みません。説明の都合 で用語を借用してくることがあります。その場合、広く使用され ているソフトウェアであるSubversionまたはGitで使われている 用語を使用します。 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 2
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  15. 15. 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 14
  16. 16. 7. バージョン管理の動き ここからは、バージョン管理システムの実装に依存する説明が含まれるため 実際のソフトウェアに沿って説明します(別コンテンツ)。 オープンソースで著名な2つのソフトがあります。 1. Subversion(サブバージョン) 2. Git (ギット) これらについて各々別コンテンツを作成予定ですが、どちらを使用するか決 まってない方、どちらも未経験な方はよりシンプルなSubversionを先にご覧 いただくとよいと思います。 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 15
  17. 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の学習に進んでいただけたらいい な、と思います。
  18. 18. OSSPlazaでは、お役に立ちそうな情報発信しています。 Webサイト https://www.ossplaza.com/ Twitter https://www.twitter.com/ossplaza Slideshare https://www.slideshare.net/ にて、ossplazaを検索 Youtube https://www.youtube.com/ にて、”OSSちゃんねる”または”OSSplaza”を検索 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
  19. 19. 弊社で「サーバ構築」する際、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 18 注意:

×