SlideShare a Scribd company logo
1 of 8
2021/10/12
【技術研究部】バージョン管理について
2019.3
2021/10/7
Copyright © KeepAlive Co.,Ltd. All Rights Reserved 1
 バージョン管理とは?
 なんでバージョン管理するの?
 どんなツールがあるの?
アジェンダ
Copyright © KeepAlive Co.,Ltd. All Rights Reserved 2
バージョン管理とは?
 プログラム(ソースコード)、設計書などの変更履歴を記録すること。
 ↑だけでなくプロジェクトに関するものすべてが対象。
 今回はプログラム(ソースコード)に重点を置いて説明。
Copyright © KeepAlive Co.,Ltd. All Rights Reserved 3
なんでバージョン管理するの?
 変更履歴を残せるから
 変更者の名前や日時、変更理由、変更内容の差分まで残せる。
 複数人で作業していて何か不具合が起きた場合でも、変更履歴を追っていけば「いつ、どうし
てこうになったのか?」が分かる。変更理由を見て事象解決の糸口にもなる。大勢の人がプロ
ジェクトに関わっている場合や、長期間の案件などは、特に変更履歴は重要になる。
例
Copyright © KeepAlive Co.,Ltd. All Rights Reserved 4
なんでバージョン管理するの?
 デグレを防止できるから
 バージョン管理をすることにより、最新バージョンを参照することが簡単にできるので、誤っ
て以前のバージョンのまま作業してしまうのを防止できる。
※デグレ(デグレード)とは
プログラムを変更した際に、以前より品質が悪くなること。また以前修正した不具合やバグが再発・
復活すること。
Aさん
Bさん
バグ
発生
修正版をリリース
再度
バグ
発生
修正版の内容を取
り込まずリリース
xxxx.html
バグ
解消
Copyright © KeepAlive Co.,Ltd. All Rights Reserved 5
なんでバージョン管理するの?
 以前のバージョンに簡単に戻すことができるから
 削除されたファイルや変更前のファイルが必要になった際は、バージョンを戻すことができる。
 間違った変更、不要になった変更もコミットを取消、元の状態に戻すことができる。
 本番環境で不具合が起きてもすぐに切り戻しが可能。
xxxx.pj
コミット コミット コミット
2021/10/01
12:00
2021/10/03
12:00
2021/10/05
12:00
aaaa.html
bbbb.js
cccc.java
aaaa.html
bbbb.js
aaaa.html
cccc.java
dddd.js
Copyright © KeepAlive Co.,Ltd. All Rights Reserved 6
どんなツールがあるの?
 Git…分散型バージョン管理システム
 Github
 Gitlab
 Bitbucket
 Sourcetree
 Subversion(SVN)…集中型バージョン管理システム
 TortoiseSVN
Copyright © KeepAlive Co.,Ltd. All Rights Reserved 7
参考
バージョン管理について詳しく知りたい人
https://eng-entrance.com/git-vesion-control
https://blog.members.co.jp/article/47070
バージョン管理ツールについて詳しく知りたい人
https://tracpath.com/works/development/git-mercurial-subversion/
分散型と集中型の違いについて詳しく知りたい人
https://www.ricksoft.jp/blog/archives/9483/
https://backlog.com/ja/git-tutorial/reference/git-svn/
Gitについて詳しく知りたい人
https://backlog.com/ja/git-tutorial/intro/01/

More Related Content

Similar to 【技術研究部】バージョン管理について

Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
 
Yamaguchi webgroup06 subversion
Yamaguchi webgroup06 subversionYamaguchi webgroup06 subversion
Yamaguchi webgroup06 subversion
Ohishi Mikage
 
変更に基づくソフトウェアのライフサイクルとプロセス
変更に基づくソフトウェアのライフサイクルとプロセス変更に基づくソフトウェアのライフサイクルとプロセス
変更に基づくソフトウェアのライフサイクルとプロセス
Hiroshi Kazato
 
Osc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupwareOsc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupware
Yoshi Sakai
 
バージョン管理の断捨離
バージョン管理の断捨離バージョン管理の断捨離
バージョン管理の断捨離
Kazushi Kamegawa
 

Similar to 【技術研究部】バージョン管理について (20)

Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
 
Yamaguchi webgroup06 subversion
Yamaguchi webgroup06 subversionYamaguchi webgroup06 subversion
Yamaguchi webgroup06 subversion
 
Smart at migration
Smart at migrationSmart at migration
Smart at migration
 
変更に基づくソフトウェアのライフサイクルとプロセス
変更に基づくソフトウェアのライフサイクルとプロセス変更に基づくソフトウェアのライフサイクルとプロセス
変更に基づくソフトウェアのライフサイクルとプロセス
 
20121009 cybozu.com kintone資料
20121009 cybozu.com kintone資料20121009 cybozu.com kintone資料
20121009 cybozu.com kintone資料
 
Ti dd force09
Ti dd force09Ti dd force09
Ti dd force09
 
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
 
Windows Azure Platform 運用設計 V1.1
Windows Azure Platform 運用設計 V1.1Windows Azure Platform 運用設計 V1.1
Windows Azure Platform 運用設計 V1.1
 
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
 
Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.Case study of DevOps for Hadoop in Recruit.
Case study of DevOps for Hadoop in Recruit.
 
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
 
Osc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupwareOsc2009tokyofall xoops groupware
Osc2009tokyofall xoops groupware
 
サービス開発における工程
サービス開発における工程サービス開発における工程
サービス開発における工程
 
Redmineを使ってみよう
Redmineを使ってみようRedmineを使ってみよう
Redmineを使ってみよう
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
SIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライド
SIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライドSIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライド
SIG-Glocalization #13「アプリの海外展開、どうしていますか?」講演スライド
 
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
デブサミ関西2012[A-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
 
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナーiQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
 
社内勉強会(Git)
社内勉強会(Git)社内勉強会(Git)
社内勉強会(Git)
 
バージョン管理の断捨離
バージョン管理の断捨離バージョン管理の断捨離
バージョン管理の断捨離
 

Recently uploaded

Recently uploaded (8)

Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアルLoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
LoRaWAN無位置ロープ式水漏れセンサーWL03A 日本語マニュアル
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 

【技術研究部】バージョン管理について

  • 2. Copyright © KeepAlive Co.,Ltd. All Rights Reserved 1  バージョン管理とは?  なんでバージョン管理するの?  どんなツールがあるの? アジェンダ
  • 3. Copyright © KeepAlive Co.,Ltd. All Rights Reserved 2 バージョン管理とは?  プログラム(ソースコード)、設計書などの変更履歴を記録すること。  ↑だけでなくプロジェクトに関するものすべてが対象。  今回はプログラム(ソースコード)に重点を置いて説明。
  • 4. Copyright © KeepAlive Co.,Ltd. All Rights Reserved 3 なんでバージョン管理するの?  変更履歴を残せるから  変更者の名前や日時、変更理由、変更内容の差分まで残せる。  複数人で作業していて何か不具合が起きた場合でも、変更履歴を追っていけば「いつ、どうし てこうになったのか?」が分かる。変更理由を見て事象解決の糸口にもなる。大勢の人がプロ ジェクトに関わっている場合や、長期間の案件などは、特に変更履歴は重要になる。 例
  • 5. Copyright © KeepAlive Co.,Ltd. All Rights Reserved 4 なんでバージョン管理するの?  デグレを防止できるから  バージョン管理をすることにより、最新バージョンを参照することが簡単にできるので、誤っ て以前のバージョンのまま作業してしまうのを防止できる。 ※デグレ(デグレード)とは プログラムを変更した際に、以前より品質が悪くなること。また以前修正した不具合やバグが再発・ 復活すること。 Aさん Bさん バグ 発生 修正版をリリース 再度 バグ 発生 修正版の内容を取 り込まずリリース xxxx.html バグ 解消
  • 6. Copyright © KeepAlive Co.,Ltd. All Rights Reserved 5 なんでバージョン管理するの?  以前のバージョンに簡単に戻すことができるから  削除されたファイルや変更前のファイルが必要になった際は、バージョンを戻すことができる。  間違った変更、不要になった変更もコミットを取消、元の状態に戻すことができる。  本番環境で不具合が起きてもすぐに切り戻しが可能。 xxxx.pj コミット コミット コミット 2021/10/01 12:00 2021/10/03 12:00 2021/10/05 12:00 aaaa.html bbbb.js cccc.java aaaa.html bbbb.js aaaa.html cccc.java dddd.js
  • 7. Copyright © KeepAlive Co.,Ltd. All Rights Reserved 6 どんなツールがあるの?  Git…分散型バージョン管理システム  Github  Gitlab  Bitbucket  Sourcetree  Subversion(SVN)…集中型バージョン管理システム  TortoiseSVN
  • 8. Copyright © KeepAlive Co.,Ltd. All Rights Reserved 7 参考 バージョン管理について詳しく知りたい人 https://eng-entrance.com/git-vesion-control https://blog.members.co.jp/article/47070 バージョン管理ツールについて詳しく知りたい人 https://tracpath.com/works/development/git-mercurial-subversion/ 分散型と集中型の違いについて詳しく知りたい人 https://www.ricksoft.jp/blog/archives/9483/ https://backlog.com/ja/git-tutorial/reference/git-svn/ Gitについて詳しく知りたい人 https://backlog.com/ja/git-tutorial/intro/01/