SlideShare a Scribd company logo
1 of 83
Download to read offline
始めようチーム開発
 〜バージョン管理編〜
お前、誰よ
●   しんどう or しんどー (not 神童)
●   広島出身
    広島弁とかよく分かりません
●   仕事、なんかシステム作ってます
    Webアプリケーションが多いです
●   お酒とプログラミングが好き
今日やること
●   やろうよ、チーム開発
●   バージョン管理システムってなに?
●   Gitおすすめだよ
やろうよ、チーム開発
の前に
チーム開発したことある人!
個人開発とチーム開発の違い
個人開発とチーム開発の違い



開発規模
個人開発とチーム開発の違い



開発規模

人員・コスト
個人開発とチーム開発の違い



開発規模

人員・コスト


開発期間
個人開発とチーム開発の違い

         個人開発

開発規模

人員・コスト


開発期間
個人開発とチーム開発の違い

         個人開発

開発規模
          全
人員・コスト    て
          俺
開発期間      !
個人開発とチーム開発の違い

         個人開発   チーム開発

開発規模
          全
人員・コスト    て
          俺
開発期間      !
個人開発とチーム開発の違い

         個人開発   チーム開発

開発規模
          全     チーム
人員・コスト    て      で
          俺
          !     決める
開発期間
全て俺!ってカッコイイやん
カッコイイ
でも
個人で作るのは限界あるよね
個人開発で不利な点
個人開発で不利な点
●   スピード感
個人開発で不利な点
●   スピード感
●   アイデア→開発→広告→メンテナンス
    個人でさばくのはとても大変
個人開発で不利な点
●   スピード感
●   アイデア→開発→広告→メンテナンス
    個人でさばくのはとても大変
●   物量勝負
個人開発で不利な点
●   スピード感
●   アイデア→開発→広告→メンテナンス
    個人でさばくのはとても大変
●   物量勝負
●   孤独
個人開発で不利な点
●   スピード感
●   アイデア→開発→広告→メンテナンス
    個人でさばくのはとても大変
●   物量勝負
●   孤独

     チーム開発で解決!!
チーム開発の
不利な点は?
チーム開発の不利な点
チーム開発の不利な点
●   意思疎通
チーム開発の不利な点
●   意思疎通
●   人員のコストがかかる
チーム開発の不利な点
●   意思疎通
●   人員のコストがかかる
●   ソースコードやドキュメントの管理
    (コードの変更の意図や履歴、ある状態の保存)
チーム開発の不利な点
●   意思疎通
●   人員のコストがかかる
●   ソースコードやドキュメントの管理
    (コードの変更の意図や履歴、ある状態の保存)
●   毎週金曜日の飲み会
個人開発に比べると
解決できそうな問題だね
   (ニコリ)
やろう、チーム開発
チーム開発の不利な点
●   意思疎通
●   人員のコストがかかる
●   ソースコードやドキュメントの管理
    (コードの変更の意図や履歴、ある状態の保存)
●   毎週金曜日の飲み会
チーム開発の不利な点
●   意思疎通         本日のメイン
●   人員のコストがかかる
    ソースコードやドキュメントの管理
    (コードの変更の意図や履歴、ある状態の保存)
●   毎週金曜日の飲み会
ファイル管理の煩わしさ
ファイル管理の煩わしさ
●   いつ、だれが、どこを修正したの?
ファイル管理の煩わしさ
●   いつ、だれが、どこを修正したの?
●   修正の意図は?
    (3ヶ月前の自分は他人です)
ファイル管理の煩わしさ
●   いつ、だれが、どこを修正したの?
●   修正の意図は?
    (3ヶ月前の自分は他人です)
●   フォルダごと全て消しちゃった...
    (失恋したら、勢いで消すよね、普通)
丸尾くん、
どうすれば良いですか?
ズバリ、
バージョン管理システム
  でしょう!!
ありがとうございます
バージョン管理システムとは
バージョン管理システムとは


 ファイルの履歴を管理します
バージョン管理システム導入の
            メリット
●   誰が、いつ、どのコードを変更したのかが分かる
●   バックアップがわりになる
●   以前のバージョンに巻き戻せる
●   どのコードがバグになっているのか分かる
バージョン管理システム
  紹介するぜ!
(メジャーなツール)
1世代前の覇者
1世代前の覇者
『Subversion』
1世代前の覇者
『Subversion』

モテモテ現代っ子
1世代前の覇者
『Subversion』

モテモテ現代っ子
   『Git』
使ったことある人!!
Subversion
集中型バージョン管理システム
Subversion
  集中型バージョン管理システム

           マスタ
          リポジトリ




作業コピー                作業コピー
Subversion
  集中型バージョン管理システム

           マスタ
          リポジトリ

          Checkout
          Update




作業コピー                作業コピー
Subversion
  集中型バージョン管理システム

            マスタ
           リポジトリ
  commit              commit
           Checkout
           Update




作業コピー                     作業コピー
Git
分散型バージョン管理システム
Git
   分散型バージョン管理システム

         マスタ
        リポジトリ




リポジトリ           リポジトリ
Git
   分散型バージョン管理システム

         マスタ
        リポジトリ

        Clone
        Pull



リポジトリ           リポジトリ
Git
   分散型バージョン管理システム

         マスタ
        リポジトリ

        Clone
        Pull



リポジトリ           リポジトリ
Git
   分散型バージョン管理システム

            マスタ
           リポジトリ
    Push           Push
           Clone
           Pull



リポジトリ                     リポジトリ
Git
   分散型バージョン管理システム

            マスタ
           リポジトリ
    Push           Push
           Clone
           Pull



リポジトリ                     リポジトリ
モテモテ現代っ子
  『Git』
に注目してみる
Gitの開発者

『リーナス・トーバルズ』
え、もしかして...
あの...
『創聖のアクエリオン』
  リーナちゃん??
違います
Linuxの開発者

『 リーナス・トーバルズ 』
   大先生です!!
集中型から分散型へ
●   オフライン開発に強い



             マスタ
            リポジトリ
     Push           Push
            Clone
            Pull



リポジトリ                      リポジトリ
●   オフライン開発に強い
●   障害に強い

             マスタ
            リポジトリ
     Push           Push
            Clone
            Pull



リポジトリ                      リポジトリ
アルゴリズムの強化
ファイルの共同作業で頻繁におきる
     Conflictを激減
  (Subversionでは頻繁に起きるアレ)


                同一ファイルの修正で、
                マージに失敗




  ファイルA         ファイルA
現代っ子らしく
ソーシャル機能が充実
  (github)
Githubをどんどん使おう
Githubをどんどん使おう
●   アカウント持ってる?
Githubをどんどん使おう
●   アカウント持ってる? → 今すぐ登録!!
Githubをどんどん使おう
●   アカウント持ってる? → 今すぐ登録!!
●   プログラマSNS
Githubをどんどん使おう
●   アカウント持ってる? → 今すぐ登録!!
●   プログラマSNS
●   気に入った人はフォローできる
Githubをどんどん使おう
●   アカウント持ってる? → 今すぐ登録!!
●   プログラマSNS
●   気に入った人はフォローできる
●   自分のコードを晒せる
Githubをどんどん使おう
●   アカウント持ってる? → 今すぐ登録!!
●   プログラマSNS
●   気に入った人はフォローできる
●   自分のコードを晒せる
●   forkして、pull request!!
Githubをどんどん使おう
●   アカウント持ってる? → 今すぐ登録!!
●   プログラマSNS
●   気に入った人はフォローできる
●   自分のコードを晒せる
●   forkして、pull request!!
    → オープンソースに貢献
まとめ
●   チーム開発いいよ
●   Gitがおすすめ
●   Githubを活用しよう
〜 おしまい 〜

More Related Content

What's hot

Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンEmma Haruka Iwao
 
2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへAyana Yokota
 
開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作りKoichi ITO
 
はじめようGit
はじめようGitはじめようGit
はじめようGittechscore
 
Git演習(2)
Git演習(2)Git演習(2)
Git演習(2)sono8
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理Masafumi Yokoyama
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用Reimi Kuramochi Chiba
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
Gitはじめの一歩
Gitはじめの一歩Gitはじめの一歩
Gitはじめの一歩Ayana Yokota
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フローshigetoshi komatsu
 
Motivationware
MotivationwareMotivationware
MotivationwareKoichi ITO
 
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南Kouji Matsui
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
Git 10min
Git 10minGit 10min
Git 10mingon6109
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級Kouji Matsui
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門dsuke Takaoka
 
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門Mizuki Ugajin
 

What's hot (20)

Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
 
2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ2ヶ月前にgitを始めた私からこれから始める皆さんへ
2ヶ月前にgitを始めた私からこれから始める皆さんへ
 
開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り開発時の探し物を楽にする習慣作り
開発時の探し物を楽にする習慣作り
 
はじめようGit
はじめようGitはじめようGit
はじめようGit
 
Git演習(2)
Git演習(2)Git演習(2)
Git演習(2)
 
GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理GitHubで学ぶバージョン管理
GitHubで学ぶバージョン管理
 
Git紹介
Git紹介Git紹介
Git紹介
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
Gitはじめの一歩
Gitはじめの一歩Gitはじめの一歩
Gitはじめの一歩
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フロー
 
Aedlabo git seminer
Aedlabo git seminerAedlabo git seminer
Aedlabo git seminer
 
Motivationware
MotivationwareMotivationware
Motivationware
 
SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南SourceTreeで始めよう! Gitへの乗り換え指南
SourceTreeで始めよう! Gitへの乗り換え指南
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
Git 10min
Git 10minGit 10min
Git 10min
 
ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級ポイントをおさえて移行しよう!Git乗り換え超初級
ポイントをおさえて移行しよう!Git乗り換え超初級
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門20160128 jjug Nightセミナー_Git実践入門
20160128 jjug Nightセミナー_Git実践入門
 

Similar to 20120125 チーム開発

Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 Hiro Yoshioka
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座貴一 末田
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Koji Shinba
 
Introduction git
Introduction gitIntroduction git
Introduction gitMisa Kondo
 
Git introduction
Git introductionGit introduction
Git introductiontotzyuta
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfYoshiki Tanaka
 
20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slide20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slidecosmo0920
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji Manno
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Shota Umeda
 
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理WordPressサイトのバージョン管理
WordPressサイトのバージョン管理lolipopjp
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスericsagnes
 
2015年2月23日 wbtoyama 勉強会 はじめようgit
2015年2月23日 wbtoyama 勉強会 はじめようgit2015年2月23日 wbtoyama 勉強会 はじめようgit
2015年2月23日 wbtoyama 勉強会 はじめようgitSatoshi Kamigaki
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another ApproachDaisuke Miyakawa
 

Similar to 20120125 チーム開発 (20)

Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011 VCS - Version Control System at Security and Programming camp 2011
VCS - Version Control System at Security and Programming camp 2011
 
2018 07-18 git-hub講座
2018 07-18 git-hub講座2018 07-18 git-hub講座
2018 07-18 git-hub講座
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
 
Introduction git
Introduction gitIntroduction git
Introduction git
 
Git introduction
Git introductionGit introduction
Git introduction
 
Git introduction
Git introductionGit introduction
Git introduction
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
 
20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slide20160730 fluentd meetup in matsue slide
20160730 fluentd meetup in matsue slide
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
 
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
 
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティスeZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
eZ Publish 2012年4月勉強会 - eZ Publish設計ベストプラクティス
 
2015年2月23日 wbtoyama 勉強会 はじめようgit
2015年2月23日 wbtoyama 勉強会 はじめようgit2015年2月23日 wbtoyama 勉強会 はじめようgit
2015年2月23日 wbtoyama 勉強会 はじめようgit
 
Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 
ゼミGit
ゼミGitゼミGit
ゼミGit
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
Gitを使った運用方法
Gitを使った運用方法Gitを使った運用方法
Gitを使った運用方法
 

20120125 チーム開発