Submit Search
Upload
SVNからGitへ乗り換えてほしい話
•
0 likes
•
410 views
M
mi takeya
Follow
仕事のつらみ説得用資料です Gitの何がいいの、SVNでいいじゃない、という人には見てほしいです
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 41
Download now
Download to read offline
Recommended
Gitはじめの一歩
Gitはじめの一歩
Ayana Yokota
マジカルsvnとキュアgit
マジカルsvnとキュアgit
Takafumi ONAKA
デザイナのためのGit入門
デザイナのためのGit入門
dsuke Takaoka
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
Tomohisa Kusukawa
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
Saeko Yamamoto
いつやるの?Git入門
いつやるの?Git入門
Masakazu Matsushita
Hands On OpenCV! 画像処理ライブラリを使って面白いプログラムを作ろう!
Hands On OpenCV! 画像処理ライブラリを使って面白いプログラムを作ろう!
Saya Katafuchi
Git flowの活用事例
Git flowの活用事例
Hirohito Kato
Recommended
Gitはじめの一歩
Gitはじめの一歩
Ayana Yokota
マジカルsvnとキュアgit
マジカルsvnとキュアgit
Takafumi ONAKA
デザイナのためのGit入門
デザイナのためのGit入門
dsuke Takaoka
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
Tomohisa Kusukawa
はじめてのGit forデザイナー&コーダー
はじめてのGit forデザイナー&コーダー
Saeko Yamamoto
いつやるの?Git入門
いつやるの?Git入門
Masakazu Matsushita
Hands On OpenCV! 画像処理ライブラリを使って面白いプログラムを作ろう!
Hands On OpenCV! 画像処理ライブラリを使って面白いプログラムを作ろう!
Saya Katafuchi
Git flowの活用事例
Git flowの活用事例
Hirohito Kato
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
Takeshi Mikami
バージョン管理のワークフロー
バージョン管理のワークフロー
add20
挫折しないRedmine (2022)
挫折しないRedmine (2022)
Go Maeda
Research modeで取得した深度(Depth)データを可視化する
Research modeで取得した深度(Depth)データを可視化する
Soichiro Sugimoto
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
H2O Space. Co., Ltd.
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
Takao Oyobe
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
Erina Takei
Git+github
Git+github
Guilherme Lima Pereira
バージョン管理システム比較資料
バージョン管理システム比較資料
suzzsegv
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
RedmineのFAQとアンチパターン集
RedmineのFAQとアンチパターン集
akipii Oga
はじめてのScrum
はじめてのScrum
Kenji Morita
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
Yoshinori Yamanouchi
はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版)
Go Maeda
ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】
Kohei Nakamura
社内Git勉強会向け資料
社内Git勉強会向け資料
Hiroki Saiki
はじめる! Redmine (2017)
はじめる! Redmine (2017)
Go Maeda
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
Tomohisa Kusukawa
Gitを使おう
Gitを使おう
takemaedenki
Introduction git
Introduction git
Misa Kondo
More Related Content
What's hot
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
Takeshi Mikami
バージョン管理のワークフロー
バージョン管理のワークフロー
add20
挫折しないRedmine (2022)
挫折しないRedmine (2022)
Go Maeda
Research modeで取得した深度(Depth)データを可視化する
Research modeで取得した深度(Depth)データを可視化する
Soichiro Sugimoto
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
H2O Space. Co., Ltd.
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
Takao Oyobe
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
Takafumi Yoshida
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
Erina Takei
Git+github
Git+github
Guilherme Lima Pereira
バージョン管理システム比較資料
バージョン管理システム比較資料
suzzsegv
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
Masakazu Matsushita
RedmineのFAQとアンチパターン集
RedmineのFAQとアンチパターン集
akipii Oga
はじめてのScrum
はじめてのScrum
Kenji Morita
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
Yoshinori Yamanouchi
はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版)
Go Maeda
ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】
Kohei Nakamura
社内Git勉強会向け資料
社内Git勉強会向け資料
Hiroki Saiki
はじめる! Redmine (2017)
はじめる! Redmine (2017)
Go Maeda
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
Tomohisa Kusukawa
What's hot
(20)
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
バージョン管理のワークフロー
バージョン管理のワークフロー
挫折しないRedmine (2022)
挫折しないRedmine (2022)
Research modeで取得した深度(Depth)データを可視化する
Research modeで取得した深度(Depth)データを可視化する
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
私がスクラムをやめた理由 - 全員スクラムマスター。@DevLove -
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
(自分流)Gitの運用ルール
(自分流)Gitの運用ルール
Git+github
Git+github
バージョン管理システム比較資料
バージョン管理システム比較資料
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
RedmineのFAQとアンチパターン集
RedmineのFAQとアンチパターン集
はじめてのScrum
はじめてのScrum
プログラミング勉強会「オトナのGit入門」
プログラミング勉強会「オトナのGit入門」
はじめる! Redmine (2021年版)
はじめる! Redmine (2021年版)
ある工場のRedmine画面カスタム【View customize plugin 活用例】
ある工場のRedmine画面カスタム【View customize plugin 活用例】
社内Git勉強会向け資料
社内Git勉強会向け資料
はじめる! Redmine (2017)
はじめる! Redmine (2017)
うちのRedmineの使い方(2)
うちのRedmineの使い方(2)
Similar to SVNからGitへ乗り換えてほしい話
Gitを使おう
Gitを使おう
takemaedenki
Introduction git
Introduction git
Misa Kondo
Git 10min
Git 10min
gon6109
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
Yutaro Miyazaki
Wordbench fukuoka
Wordbench fukuoka
Junji Manno
なるべく噛み砕いたGit基礎講習
なるべく噛み砕いたGit基礎講習
石橋 啓太
20120125 チーム開発
20120125 チーム開発
s_taichan
20120125 チーム開発
20120125 チーム開発
Taichi Shindo
Git勉強会 #01
Git勉強会 #01
risaiku リサイク
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門
Mizuki Ugajin
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
lolipopjp
git&GitHub&SourceTree入門
git&GitHub&SourceTree入門
Gamu2059
Git Flowを運用するために
Git Flowを運用するために
Shun Tsunoda
GitHubの入門を読む前に読む入門書
GitHubの入門を読む前に読む入門書
相皓 卞
Git勉強会資料
Git勉強会資料
Kenji Takei
2015年2月23日 wbtoyama 勉強会 はじめようgit
2015年2月23日 wbtoyama 勉強会 はじめようgit
Satoshi Kamigaki
sit-tokyo2022_sap-data-intelligence
sit-tokyo2022_sap-data-intelligence
tkimura2
Git入門
Git入門
小川 昌吾
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
Hiro Yoshioka
sensuのちょっと進んだ使い方
sensuのちょっと進んだ使い方
正貴 小川
Similar to SVNからGitへ乗り換えてほしい話
(20)
Gitを使おう
Gitを使おう
Introduction git
Introduction git
Git 10min
Git 10min
2015.04.19 WordBench 埼玉 Git & WordPress
2015.04.19 WordBench 埼玉 Git & WordPress
Wordbench fukuoka
Wordbench fukuoka
なるべく噛み砕いたGit基礎講習
なるべく噛み砕いたGit基礎講習
20120125 チーム開発
20120125 チーム開発
20120125 チーム開発
20120125 チーム開発
Git勉強会 #01
Git勉強会 #01
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
git&GitHub&SourceTree入門
git&GitHub&SourceTree入門
Git Flowを運用するために
Git Flowを運用するために
GitHubの入門を読む前に読む入門書
GitHubの入門を読む前に読む入門書
Git勉強会資料
Git勉強会資料
2015年2月23日 wbtoyama 勉強会 はじめようgit
2015年2月23日 wbtoyama 勉強会 はじめようgit
sit-tokyo2022_sap-data-intelligence
sit-tokyo2022_sap-data-intelligence
Git入門
Git入門
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
sensuのちょっと進んだ使い方
sensuのちょっと進んだ使い方
SVNからGitへ乗り換えてほしい話
1.
SVNからGitへ 乗り換えてほしい話 2021/2/4 takeyamami
2.
まず、はじめに この資料は非エンジニアにGitに 移行したい気持ちを伝えるための資料です 厳密には、正確には、というところは 割愛・省略しますのでご了承ください
3.
早速ですが、 みなさん、バージョン管理ツール使ってますか?
4.
CVS?SVN?Git? それとも、男は黙って共有サーバ管理? VSSも使ってたんですよ~
5.
ちょっと化石みたいなものは置いておいて SVNとGit何が違うの? というのを簡単に説明したうえで 実際の業務の例を織り交ぜて Gitにしてほしいことをアピールします
6.
そもそも、バージョン管理ツールってなに? 誰が、いつ、何をどのように修正したかといった履歴情報とコードを 一緒に管理するツール SVNやGitなどが有名
今やこれなしに複数人での開発は考えられない
7.
バージョン管理ツールがないとき 修正中
8.
同時に複数人が同じファイルを修正できない 他の人の修正内容がわからず、誤って消してしまうかもしれない
修正内容を元に戻したり、消したファイルを復元することができない (難しい、大変!!) バージョン管理ツールがないとき
9.
バージョン管理ツールがあるとき チェックアウト チェックアウト
10.
バージョン管理ツールがあるとき 修正中 修正中
11.
バージョン管理ツールがあるとき コミット 修正中
12.
同時に複数人が修正できる 他の人の修正内容がすぐわかる(誰が、いつ、何をしたかまで!)
修正内容を元に戻したり、消したファイルを元に戻すことが簡単 バージョン管理ツールがあるとき
13.
じゃあ、バージョン管理ツールって どうやって履歴情報を管理しているの?
14.
SVNとGitの違い ※イメージつきやすいように細かいところは省いてます
15.
SNVはコミットやマージ、更新するたびに、 前のリビジョンの状態に対して、差分を計算して 最新のファイル状態を管理している
16.
Gitはコミットするときに、修正したファイルの スナップショットを保持
17.
じゃあ、いっぱいコミットしたPJのコードを 別のブランチにマージしようって なったらどうなるか
18.
SVNの場合(本当にあった怖い話) ブランチB ブランチA コミット1 Rev.301 コミット2 Rev.303 コミット3 Rev.305 コミット4 Rev.307 コミット5 Rev.308 コミットa Rev.302 コミットb Rev.304 コミットc Rev.306 コミット0 Rev.300
19.
SVNの場合(本当にあった怖い話) ブランチB ブランチA コミット1 Rev.301 コミット2 Rev.303 コミット3 Rev.305 コミット4 Rev.307 コミット5 Rev.308 コミットa Rev.302 コミットb Rev.304 コミットc Rev.306 コミットd Rev.309 コミット1~5をマージしてコミットしたい!! コミット0 Rev.300
20.
SVNの場合(本当にあった怖い話) ブランチB ブランチA コミット1 Rev.301 コミット2 Rev.303 コミット3 Rev.305 コミット4 Rev.307 コミット5 Rev.308 コミットa Rev.302 コミットb Rev.304 コミットc Rev.306 コミットd Rev.309 コミット1の修正内容が競合し、マージできず! conflict コミット0 Rev.300
21.
SVNの場合(本当にあった怖い話) ブランチB ブランチA コミット1 Rev.301 コミット2 Rev.303 コミット3 Rev.305 コミット4 Rev.307 コミット5 Rev.308 コミットa Rev.302 コミットb Rev.304 コミットc Rev.306 コミットd Rev.309 競合を解消する OK コミット0 Rev.300
22.
23.
SVNの場合(本当にあった怖い話) ブランチB ブランチA コミット1 Rev.301 コミット2 Rev.303 コミット3 Rev.305 コミット4 Rev.307 コミット5 Rev.308 コミットa Rev.302 コミットb Rev.304 コミットc Rev.306 コミットd Rev.309 再度マージをする OK コミット0 Rev.300
24.
SVNの場合(本当にあった怖い話) ブランチB ブランチA コミット1 Rev.301 コミット2 Rev.303 コミット3 Rev.305 コミット4 Rev.307 コミット5 Rev.308 コミットa Rev.302 コミットb Rev.304 コミットc Rev.306 コミットd Rev.309 コミット2の修正内容が競合し、マージできず! OK conflict コミット0 Rev.300
25.
26.
お察しの通り このあと、幾度となくコミットごとの 競合を解消していった
27.
SVNの場合(本当にあった怖い話) ブランチB ブランチA コミット1 Rev.301 コミット2 Rev.303 コミット3 Rev.305 コミット4 Rev.307 コミット5 Rev.308 コミットa Rev.302 コミットb Rev.304 コミットc Rev.306 コミットd Rev.309 すべての競合を解消し、マージ完了後 ああ、やっと、コミット OK OK OK
OK OK コミット0 Rev.300
28.
差分しか持っていないSVNでは、 複数のリビジョンを選択してマージする場合でも 一つずつ計算してそのコミット時点の ファイルの状態を作成し、 マージできるかどうかチェックする
29.
そのため、一つでも競合が発生すると、 以降のリビジョンのマージはされず マージ⇒チェック⇒競合発生⇒競合の解消 ⇒残りをマージ⇒チェック⇒競合発生⇒・・・ といったことが起きてしまう
30.
じゃあ、これがGitだったら、どうなっていたか
31.
Gitの場合(仮定の話) ブランチB ブランチA コミット1 親:0 コミット2 親:1 コミット3 親:2 コミット4 親:3 コミット5 親:4 コミットa 親:0 コミットb 親:a コミットc 親:b コミット0 親:# コミットd 親:5とb ブランチBをマージしてコミットしたい!!(プルリク)
32.
Gitの場合(仮定の話) ブランチB ブランチA コミット1 親:0 コミット2 親:1 コミット3 親:2 コミット4 親:3 コミット5 親:4 コミットa 親:0 コミットb 親:a コミットc 親:b コミット0 親:# コミットd 親:5とb コミット5の修正内容で競合が発生 ※コミット1~4の修正内容も堆積したものが競合している conflict
33.
Gitの場合(仮定の話) ブランチB ブランチA コミット1 親:0 コミット2 親:1 コミット3 親:2 コミット4 親:3 コミット5 親:4 コミットa 親:0 コミットb 親:a コミットc 親:b コミット0 親:# コミットd 親:5とb 競合を解消し、コミット OK
34.
Gitでは、コミットした時点の情報だけでなく、 親コミットの修正内容込み込みで 変更履歴を保持している マージできるかチェックの際に 確認するファイルの状態は それまでの変更内容がすべて含まっている
35.
そのため、マージ作業は1回で済む!!!
36.
競合はもちろん、Gitでも起きてしまう でも、もう一度言う
37.
マージ作業は1回で済む!!!
38.
これによって、みんな(主にエンジニア)が ものすごくハッピーになる
39.
この例は競合が5回のパタンだったけど、 もし、競合が10、20回だったら、、、
40.
マージしているときに本当に集中したいのは、 競合の解消作業であって、 SVNが必死に時間をかけてチェックしたり、 何度も何度も競合と向き合わないといけない 時間は無駄でしかない
41.
さあ、Gitへ
Download now