SlideShare a Scribd company logo
1 of 31
Download to read offline
チーム開発の
プラクティス
Gitが解決してくれるもの
なぜGitとGitHubを
選んだのかの話です
Git、GitHubの
詳しい機能は後ほど
Git講習、GitHub Flow講習にて
ケース1
会議にGoogleDriveを使用
理由
• 無料
• リアルタイムで共有ができる
• みんなで書き込めるのですぐ修正できる
• 複数ファイルをおける
問題点
• ファイル編集合戦になる
• 変更点がぱっと見で分からない
• ネットに常時繋がってないといけない
• 1ファイル単位でしか共有できない
プラクティス
リアルタイム編集共有である必要はない
• ファイルを編集しながら議論をするやつはいない
• 反映が遅れてコンフリクトが起きると厄介なことに
• 議事録を書く人は一人でいい
• アイデアを全て一つのところにまとめて一緒に議論する
のはまちがっている
• 瞬時に反映する必要はなく、チェックの際確認できたら
それでいい
Gitが解決する点
• GitHubやGitLabでイシュー、プルリクエストにて
アイデア単位で議論ができる
• アイデアが取り込まれたか瞬時に判定できるし細か
い情報も確認できる
• フックを使ってメールを飛ばしたりもできる
結論
GoogleDriveはクソ
ケース2
Dropboxでチームコードを共有
理由
• 無料
• フォルダ単位の共有
• 自分たちは何もする必要がない
• 変更されたファイルが分かる
• 復旧もできる
問題点
• 細かい変更点がわからない
• よくコンフリクトが起きる
• スワップファイルが共有される
• なんしろ共有が重い
• 2GBの容量制限
• 古いバージョンの保持ができない
• れるファイルの履歴に制限
プラクティス
Dropbox上での開発のノウハウを
貯めるぐらいならファイル共有システム使え
• Dropbox便利だが微妙なところでクールじゃない
• Dropboxに金貢がなくてももっと安くもっとクー
ルなサービスがあるよ
• ぶっちゃけ固定ファイル共有したいならストレージ
サービス使えばいいじゃない
• 個人ファイルを共有するには便利
Gitが解決する点
• ブランチ機能によってバージョンごとに開発できる
• リポジトリ容量は、通常無制限
• 共有のスピードも速い
• 履歴を るのは簡単だし、復旧も簡単
• コンフリクトも解決しやすいし、共有するファイル
の指定も楽にできる
結論
Dropboxは
個人利用に限りましょう
ケース3
Subversionを使用
理由
• いろんなところが使ってた
• なんか便利らしい
• 変更にメッセージつけたりできるらしい
• ブランチなどの機能があるよ
問題点
• 諸々の細かい箇所でクールじゃない
• 共有場所に常時つながってないといけない
• フォークするのが簡単じゃない
• ダウンロード速度の問題は少しは解決したが完全で
はない
プラクティス
集中型は分散型にいろんな点で劣る
• 分散型でも集中型の代用ができる
• 集中型の問題解決版が分散型なので分散型の方が新
しい恩恵が受けられる
• もうSubversionの時代ではない
Gitが解決する点
• 高性能のマージ、高性能のブランチ
• プルリクエストとフォークによる分散した開発
• 細かい履歴制御
• クールな気持ちよさ
結論
集中型の時代は終わった
ケース4
Mercurialだけでのチーム開発
• MercurialはGitと同じくクールな分散型バージョン
管理システム
• リモートリポジトリが公開されていてそっからクロー
ンしてプルプッシュ
• まあ、それでもいいんだけども
問題点
• どのブランチがどういう作業なのかぱっと見分からん
• エクステンションが分散しすぎて死んじゃう∼∼∼
• リモートリポジトリのコードだけ見るってことがしにくい
• 新たにプロジェクトに加わった人が取り残される
• 事故が絶えない
プラクティス
分散型バージョン管理システムはクールだが
それだけでは全ての問題を解決できない
• 今有名なのがチケット駆動開発(git flow)
• GitHub、BitBucket、Jira、etc.
• GitLab、Redmine、etc.
ケース5
RedmineでのGit Flowを使った開発
理由
• チケット駆動開発により管理がしやすい
• 大規模なプロジェクト用の様々な機能がそろってる
• GUIで見やすい
• 環境構築が簡単
問題点
理由
• 取り決めが多く導入コストがとても高い
• サーバーのメンテナンスコストが高い
• 微妙にRedmineの機能が優秀じゃない
• 他の人の作業内容を追いにくい
プラクティス
厳密すぎるのは良くない
• Git flowは非常に多くの取り決めがある
• それを実現するためには、多くの知識とノウハウが
必要
• 大規模なプロジェクトには向いているが、小規模に
はちょっとビミョい
• 過去の資源がないと難しい
プラクティス
良い感じの機能がまとめられても
一つ一つがクソだと役に立たない
• GitHubと連携するぐらいならGitHubオンリー
• プラグイン書かなくても代用品あるよ
• 高品質でなければまとめられると逆にメンテが大変
• 一つで済むようにまとめたのに、API叩いて別のと
ころで操作とか頭おかしいんじゃないの
GitHub flowが解決する点
• GitHubはクール
• GitHubはシンプル(すぎる?)
• GitHub flowは、お互いの作業の共有を目指してる
• GitHub flowは、簡単で覚えることが少ない
結論
Redmineはないわー
Git flowは経験ある人向け
Git
• オープンソース
• 分散型バージョン管理システム
• 今デファクトに
• クールで良い
GitHub
• パブリックリポジトリは無料
• プライベートリポジトリは学生プランだと20個まで無料、通
常は有料
• なんか割と かってるらしい
• いっぱい機能がある
• 最近社内用のエディタAtomが で流行ってる
• GitLabはGitHubのOSS化フォークを目指している
GitとGitHubが
どういう機能で
今までの問題を解決するのか
ここからは
お勉強の時間だよっ!よっ!

More Related Content

What's hot

GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?Kiyotaka Kunihira
 
RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係Mitsuyoshi Kawabata
 
Git hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたGit hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたSoudai Sone
 
Githubサービスについて
GithubサービスについてGithubサービスについて
GithubサービスについてAkura Pi
 
Githubを使いこなす(・ω・)
Githubを使いこなす(・ω・)Githubを使いこなす(・ω・)
Githubを使いこなす(・ω・)Kazuki Takahashi
 
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Hiroshi Maekawa
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話Yutaka Kinjyo
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料mihararyosuke
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみShihomi Katayama
 
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~DoshishaUniv ProntiatVR
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用Reimi Kuramochi Chiba
 
医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門Yui Tomo
 
Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-Kentarou Kurashige
 

What's hot (20)

Github of project
Github of projectGithub of project
Github of project
 
LT 手作りGit
LT 手作りGitLT 手作りGit
LT 手作りGit
 
GitHub Handson
GitHub HandsonGitHub Handson
GitHub Handson
 
Github講座#1
Github講座#1Github講座#1
Github講座#1
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係RedmineとGitHubのうまい関係
RedmineとGitHubのうまい関係
 
Git hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみたGit hub pagesで告知サイトを作ってみた
Git hub pagesで告知サイトを作ってみた
 
Githubサービスについて
GithubサービスについてGithubサービスについて
Githubサービスについて
 
Githubを使いこなす(・ω・)
Githubを使いこなす(・ω・)Githubを使いこなす(・ω・)
Githubを使いこなす(・ω・)
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
Gitを使いこなしてみよう!
Gitを使いこなしてみよう!Gitを使いこなしてみよう!
Gitを使いこなしてみよう!
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
 
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
Github勉強会~Git・Githubを用いて共同開発・バージョン管理をしよう~
 
Git @ NNCT programming workshop
Git @ NNCT programming workshopGit @ NNCT programming workshop
Git @ NNCT programming workshop
 
Gitの勉強 紹介編-
Gitの勉強 紹介編-Gitの勉強 紹介編-
Gitの勉強 紹介編-
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門医療データ解析者へ向けた Git・GitHub 入門
医療データ解析者へ向けた Git・GitHub 入門
 
Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-Git lev 3 -おひとりさまでブランチを-
Git lev 3 -おひとりさまでブランチを-
 

Viewers also liked

День захисту дітей
День захисту дітейДень захисту дітей
День захисту дітейОціночки
 
Tecnologia informatica aplicada_en_el_diseno_grafico
Tecnologia informatica aplicada_en_el_diseno_graficoTecnologia informatica aplicada_en_el_diseno_grafico
Tecnologia informatica aplicada_en_el_diseno_graficoJasdeibi Gonzalez Rodriguez
 
Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015
Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015
Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015Työ- ja elinkeinoministeriö
 
அகிலத்தையும் ஆகாயத்தையும்
அகிலத்தையும் ஆகாயத்தையும்அகிலத்தையும் ஆகாயத்தையும்
அகிலத்தையும் ஆகாயத்தையும்Eddy Joel Silsbee
 
Best preschool in gurgaon
Best preschool in gurgaonBest preschool in gurgaon
Best preschool in gurgaonNest Pre School
 
Dickeys Letter of Rec
Dickeys Letter of RecDickeys Letter of Rec
Dickeys Letter of RecAustin Larson
 
Strayer university hsa 535 assignment help
Strayer university hsa 535 assignment helpStrayer university hsa 535 assignment help
Strayer university hsa 535 assignment helpleesa marteen
 

Viewers also liked (10)

День захисту дітей
День захисту дітейДень захисту дітей
День захисту дітей
 
Tecnologia informatica aplicada_en_el_diseno_grafico
Tecnologia informatica aplicada_en_el_diseno_graficoTecnologia informatica aplicada_en_el_diseno_grafico
Tecnologia informatica aplicada_en_el_diseno_grafico
 
Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015
Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015
Hankintalain kokonaisuudistus, työryhmämietinnön esittely 13.5.2015
 
அகிலத்தையும் ஆகாயத்தையும்
அகிலத்தையும் ஆகாயத்தையும்அகிலத்தையும் ஆகாயத்தையும்
அகிலத்தையும் ஆகாயத்தையும்
 
PMDC Step-1 Day 4
PMDC Step-1 Day 4PMDC Step-1 Day 4
PMDC Step-1 Day 4
 
portfolio angga
portfolio anggaportfolio angga
portfolio angga
 
Best preschool in gurgaon
Best preschool in gurgaonBest preschool in gurgaon
Best preschool in gurgaon
 
Dickeys Letter of Rec
Dickeys Letter of RecDickeys Letter of Rec
Dickeys Letter of Rec
 
Preetam CV
Preetam CVPreetam CV
Preetam CV
 
Strayer university hsa 535 assignment help
Strayer university hsa 535 assignment helpStrayer university hsa 535 assignment help
Strayer university hsa 535 assignment help
 

Similar to Gitpractice01

Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Makoto Kawano
 
201806 hugo で静的サイト作ってみた
201806 hugo で静的サイト作ってみた201806 hugo で静的サイト作ってみた
201806 hugo で静的サイト作ってみたjunichim
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
Git演習(1)
Git演習(1)Git演習(1)
Git演習(1)sono8
 
Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用CROOZ, inc.
 
GitHub勉強会~当日資料~
GitHub勉強会~当日資料~GitHub勉強会~当日資料~
GitHub勉強会~当日資料~Shintaro Mizuno
 
はじめてのGit #gitkyoto
はじめてのGit #gitkyotoはじめてのGit #gitkyoto
はじめてのGit #gitkyotoHisateru Tanaka
 
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会Katz Ueno
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithublion-man
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfYoshiki Tanaka
 
LT発表-第6回_共同作業におけるGit
LT発表-第6回_共同作業におけるGitLT発表-第6回_共同作業におけるGit
LT発表-第6回_共同作業におけるGitRiki Kenmochi
 
Git plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすGit plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすKoichiro Sumi
 
Github時代のgitのはなし
Github時代のgitのはなしGithub時代のgitのはなし
Github時代のgitのはなしYoichi Toyota
 
GitHub勉強会
GitHub勉強会GitHub勉強会
GitHub勉強会ArusuDev
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
今日こそわかるgit / github の違い
今日こそわかるgit / github の違い今日こそわかるgit / github の違い
今日こそわかるgit / github の違いssuser9fba1a
 

Similar to Gitpractice01 (20)

Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
201806 hugo で静的サイト作ってみた
201806 hugo で静的サイト作ってみた201806 hugo で静的サイト作ってみた
201806 hugo で静的サイト作ってみた
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
GitHub Actions
GitHub ActionsGitHub Actions
GitHub Actions
 
Git_GiHub講習会.pdf
Git_GiHub講習会.pdfGit_GiHub講習会.pdf
Git_GiHub講習会.pdf
 
Git演習(1)
Git演習(1)Git演習(1)
Git演習(1)
 
Gitの使い方
Gitの使い方Gitの使い方
Gitの使い方
 
Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用
 
GitHub勉強会~当日資料~
GitHub勉強会~当日資料~GitHub勉強会~当日資料~
GitHub勉強会~当日資料~
 
はじめてのGit #gitkyoto
はじめてのGit #gitkyotoはじめてのGit #gitkyoto
はじめてのGit #gitkyoto
 
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
Git & GitHub を使いこなしてハッピーになろう! - WordBench 名古屋 & concrete5 名古屋 合同勉強会
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithub
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
 
LT発表-第6回_共同作業におけるGit
LT発表-第6回_共同作業におけるGitLT発表-第6回_共同作業におけるGit
LT発表-第6回_共同作業におけるGit
 
Git plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなすGit plus something / Git+何かで更にGitを使いこなす
Git plus something / Git+何かで更にGitを使いこなす
 
Github時代のgitのはなし
Github時代のgitのはなしGithub時代のgitのはなし
Github時代のgitのはなし
 
GitHub勉強会
GitHub勉強会GitHub勉強会
GitHub勉強会
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
今日こそわかるgit / github の違い
今日こそわかるgit / github の違い今日こそわかるgit / github の違い
今日こそわかるgit / github の違い
 

Gitpractice01