SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
ソースコード管理システム

   よしおかひろたか
   mailto:hyoshiok@gmail.com
   http://d.hatena.ne.jp/hyoshiok
   twitter @hyoshiok
   セキュリティ&プログラミングキャンプ 2011
目次

   なぜソースコード管理システムが必要なのか
   大規模分散開発
   Git の紹介
バージョン管理システム

   バージョン管理システムはなぜ必要なのか
       VCS (Version Control System), SCM (Source Code
        Manager), RCS (Revision Control System) などとも
        呼ばれている。
       変更を管理したい
       複数の人と共同作業をしたい
大規模分散開発

   特徴
       多くの人が開発に関与
       それぞれ独立に開発をしていて他人の作業について
        すべて知っているわけではない
       開発場所も分散している
ソフトウェア開発のワークフロー

   ソフトウェアを変更するとき
       機能追加、拡張、変更
       バグフィックス
       性能改善
       リファクタリング(機能は変更しないけど、より保
        守しやすい実装へ変更するなど)
ワークフロー

   コミュニティーベースの開発の場合、様々な仕
    事がある。
       テスト
       バグ登録
       バグのトリアージ(優先順度付け)
       バグのアサイン
       コードの修正
       ドキュメント執筆。翻訳。
       レビュー。
       その他いろいろ
ソフトウェア開発のワークフロー

   ソースコードリポジトリから取り出す
   変更する(コンパイルエラー、ビルドエラーを
    取り除く)
   テストをする
   期待どおりでない場合、(変更する、テストす
    る)を繰り返す
   ソースコードリポジトリへ戻す
   コンフリクトがある場合、コンフリクトを解消
    するまで、上記を繰り返す
リポジトリがなぜ必要なのか

   リポジトリ:ソースコードの保管場所
   複数の人が共通のコードで作業をしているから
       共同作業のかなめ
なぜバージョン管理が必要なのか

   変更部分を知りたい
       なぜ、その変更をしたのか
       どのように変更したのか
       自分の変更を追加したときにプログラムが期待通り
        に動かなくなった原因を知りたい
   誰が何をやっているか知りたい
   プロジェクトの進捗を知りたい
   いつからバグが入っているか知りたい
バージョン管理システムの例

   git
   subversion
   cvs
   sccs
   Rational Clearcase ( 商用製品 )
   Microsoft Team Foundation Server ( 商用製品 )
VCS への Linux での要求事項*

   分散開発を容易にする
   何千人の開発者をも扱えること
   高速で効率よく動作すること
   完全性と信頼を維持すること
   説明責任を強制すること



*実用 Git 、 Jon Loeliger ( 著 ) 、吉藤 英明 ( 監訳 ) 、 ISBN: 978-4873114408
VCS への Linux での要求事項、2

   不変性
   アトミックなトランザクション
   分散した開発に対応し後押しをすること
   完全なリポジトリ
   すっきりとした内部設計
   自由という意味でのフリー
Git

   Linux の創始者の Linus Torvalds が必要性にか
    られて開発
   分散型
   特徴
       高速
       分散開発のサポート
       ハッシュ (SHA1) による完全性の維持
git の利用

   help
       $ git help
       $ git help COMMAND
       $ git COMMAND --help
ユーザ設定

   コミッターと著者の設定
       $ git config –globall user.name ”Your Name”
       $ git config –global user.email your@email.address
   設定の確認
       $ git config -l
リポジトリの作成

   既にあるリポジトリからのコピー
    
        $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
       $ git clone https://github.com/ruby/ruby
   新規に作成する
       $ git init
変更

   ファイルの追加、変更など
       $ git add ファイル
   レポジトリへの反映
       $ git commit
                   エディタが起動してコメント記入を求められる
       $ git commit -m ”comments”
差分

   $ git diff
履歴

   $ git log
   $ git whatchanged
レポジトリの更新

   $ git pull レポジトリ名
       外部のレポジトリとマージする
二分探索

     $ git bisect
     バグを発見したとき、どのバージョンからバグ
      が混入したか調べる
$ git bisect start
$ git bisect bad                 # Current version is bad
$ git bisect good v2.6.13­rc2    # v2.6.13­rc2 was the last version
                                 # tested that was good
典型的なワークフロー

   $ git clone レポジトリ
   既存変更、テスト、デバッグなど
   $ git add ファイル名
   $ git commit
   $ git push レポジトリ
付録:

   github について
   コメントを英語で書くのがなぜ推奨されるのか
github

   https://github.com/
   git レポジトリのホスティングサービス
   Ruby on Rails の開発などにも利用されている
   無料でも使える
   利用方法
       アカウント作成
       プロジェクト登録( git push などをして公開)
       what are you coding ( 日々の活動をコードで表現)
コメントは英語で

   インターネットは英語が公用語
   英語で書く訓練になる
参考書

   入門 Git 、濱野純、 ISBN:978-4798023809
   実用 Git 、 Jon Loeliger ( 著 ) 、吉藤 英明 ( 監
    訳 ) 、 ISBN: 978-4873114408

Contenu connexe

Tendances

Jenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようJenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようikikko
 
楽しいGit外部公開用
楽しいGit外部公開用楽しいGit外部公開用
楽しいGit外部公開用CROOZ, inc.
 
Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-Kentarou Kurashige
 
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)Wataru NOGUCHI
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門kazuki kuriyama
 
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編Akihiko Shirai
 
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101 【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101 日本マイクロソフト株式会社
 
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るAndroid アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るYu Nobuoka
 
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01regret raym
 
新卒2年目のchef guy
新卒2年目のchef guy新卒2年目のchef guy
新卒2年目のchef guy祐樹 夏目
 
オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)Shunsuke Tadokoro
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編kimulla
 
Android勉強会 1
Android勉強会 1Android勉強会 1
Android勉強会 1shotaueda3
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~aha_oretama
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムYu Nobuoka
 
CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡Koichiro Sumi
 

Tendances (20)

Jenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみようJenkinsプラグインの中身を覗いてみよう
Jenkinsプラグインの中身を覗いてみよう
 
GitLab Prometheus
GitLab PrometheusGitLab Prometheus
GitLab Prometheus
 
Gitの設定
Gitの設定Gitの設定
Gitの設定
 
楽しいGit外部公開用
楽しいGit外部公開用楽しいGit外部公開用
楽しいGit外部公開用
 
Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-Git lev 1-おひとりさま用-
Git lev 1-おひとりさま用-
 
Git勉強会 #01
Git勉強会 #01Git勉強会 #01
Git勉強会 #01
 
【BS12】Visual Studio 2022 40分一本勝負!
【BS12】Visual Studio 2022 40分一本勝負!【BS12】Visual Studio 2022 40分一本勝負!
【BS12】Visual Studio 2022 40分一本勝負!
 
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
 
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編KinectとC#を用いた実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
KinectとC#を用いた 実践的VRアプリ開発 第2回 2015/10/13 Github CLI編
 
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101 【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
 
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作るAndroid アプリを Jenkins でビルドして GitHub に “リリース” を作る
Android アプリを Jenkins でビルドして GitHub に “リリース” を作る
 
Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01Jenkinsの導入 Vol.01
Jenkinsの導入 Vol.01
 
新卒2年目のchef guy
新卒2年目のchef guy新卒2年目のchef guy
新卒2年目のchef guy
 
オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)オールフェスタ Git勉強会資料 (public)
オールフェスタ Git勉強会資料 (public)
 
Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編Multibranch Pipeline with Docker 入門編
Multibranch Pipeline with Docker 入門編
 
Android勉強会 1
Android勉強会 1Android勉強会 1
Android勉強会 1
 
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
 
Android アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステムAndroid アプリ開発における Gradle ビルドシステム
Android アプリ開発における Gradle ビルドシステム
 
CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡CIツールのまとめとSide CI - CIツール勉強会@福岡
CIツールのまとめとSide CI - CIツール勉強会@福岡
 

En vedette

Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Hiro Yoshioka
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...Hiro Yoshioka
 
1000 Speakers Conference in English, on December 6th, 2013
1000 Speakers Conference in English, on December 6th, 20131000 Speakers Conference in English, on December 6th, 2013
1000 Speakers Conference in English, on December 6th, 2013Hiro Yoshioka
 
Hacker centric culture @devlove 110423
Hacker centric culture @devlove 110423Hacker centric culture @devlove 110423
Hacker centric culture @devlove 110423Hiro Yoshioka
 
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014Hiro Yoshioka
 
対人関係におけるアルコールの効用
対人関係におけるアルコールの効用対人関係におけるアルコールの効用
対人関係におけるアルコールの効用Akiko Kosaka
 
Internet and Opensource at Security and Programming camp 2011
Internet and Opensource at Security and Programming camp 2011 Internet and Opensource at Security and Programming camp 2011
Internet and Opensource at Security and Programming camp 2011 Hiro Yoshioka
 
How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. Osaka University
 
産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpit
産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpit産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpit
産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpitMiho Nagase
 
1000 speakers conference in English, 2nd, 1/20/2013
1000 speakers conference in English, 2nd, 1/20/20131000 speakers conference in English, 2nd, 1/20/2013
1000 speakers conference in English, 2nd, 1/20/2013Hiro Yoshioka
 
1000 Speakers Conference in English, 5th on April 11th, 2014 #1000eng
1000 Speakers Conference in English, 5th on April 11th, 2014 #1000eng1000 Speakers Conference in English, 5th on April 11th, 2014 #1000eng
1000 Speakers Conference in English, 5th on April 11th, 2014 #1000engHiro Yoshioka
 
Introduction to Git and GitHub #git_nyan
Introduction to Git and GitHub #git_nyanIntroduction to Git and GitHub #git_nyan
Introduction to Git and GitHub #git_nyanHiro Yoshioka
 
kernel code reading party on March 28th, 2014
kernel code reading party on March 28th, 2014kernel code reading party on March 28th, 2014
kernel code reading party on March 28th, 2014Hiro Yoshioka
 
Project Based Learning using by PaaS
Project Based Learning using by PaaSProject Based Learning using by PaaS
Project Based Learning using by PaaSHiro Yoshioka
 
Hacker culture at an internet company. 文明塾, 2014/04/23
Hacker culture at an internet company. 文明塾, 2014/04/23Hacker culture at an internet company. 文明塾, 2014/04/23
Hacker culture at an internet company. 文明塾, 2014/04/23Hiro Yoshioka
 
Business Application Development Course at AIIT
Business Application Development Course at AIITBusiness Application Development Course at AIIT
Business Application Development Course at AIITHiro Yoshioka
 
20140725 オープンデータ化の価値
20140725 オープンデータ化の価値20140725 オープンデータ化の価値
20140725 オープンデータ化の価値Tomoaki Watanabe
 
the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘Tetsuji Koyama
 

En vedette (20)

Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011 Code Reading at Security and Programming camp 2011
Code Reading at Security and Programming camp 2011
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
Anatomy of Lightning Talks at Rakuten Technology Conference 2014, After Confe...
 
1000 Speakers Conference in English, on December 6th, 2013
1000 Speakers Conference in English, on December 6th, 20131000 Speakers Conference in English, on December 6th, 2013
1000 Speakers Conference in English, on December 6th, 2013
 
Hacker centric culture @devlove 110423
Hacker centric culture @devlove 110423Hacker centric culture @devlove 110423
Hacker centric culture @devlove 110423
 
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
English Book Club at 1000 Speakers Conference in English, 3rd, on Feb 7th, 2014
 
対人関係におけるアルコールの効用
対人関係におけるアルコールの効用対人関係におけるアルコールの効用
対人関係におけるアルコールの効用
 
Internet and Opensource at Security and Programming camp 2011
Internet and Opensource at Security and Programming camp 2011 Internet and Opensource at Security and Programming camp 2011
Internet and Opensource at Security and Programming camp 2011
 
How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy.
 
Tokaido 53 walk
Tokaido 53 walkTokaido 53 walk
Tokaido 53 walk
 
産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpit
産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpit産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpit
産業技術大学院大学の2014年度enPiT受講生募集中 #qcontokyo #aiit_enpit
 
1000 speakers conference in English, 2nd, 1/20/2013
1000 speakers conference in English, 2nd, 1/20/20131000 speakers conference in English, 2nd, 1/20/2013
1000 speakers conference in English, 2nd, 1/20/2013
 
1000 Speakers Conference in English, 5th on April 11th, 2014 #1000eng
1000 Speakers Conference in English, 5th on April 11th, 2014 #1000eng1000 Speakers Conference in English, 5th on April 11th, 2014 #1000eng
1000 Speakers Conference in English, 5th on April 11th, 2014 #1000eng
 
Introduction to Git and GitHub #git_nyan
Introduction to Git and GitHub #git_nyanIntroduction to Git and GitHub #git_nyan
Introduction to Git and GitHub #git_nyan
 
kernel code reading party on March 28th, 2014
kernel code reading party on March 28th, 2014kernel code reading party on March 28th, 2014
kernel code reading party on March 28th, 2014
 
Project Based Learning using by PaaS
Project Based Learning using by PaaSProject Based Learning using by PaaS
Project Based Learning using by PaaS
 
Hacker culture at an internet company. 文明塾, 2014/04/23
Hacker culture at an internet company. 文明塾, 2014/04/23Hacker culture at an internet company. 文明塾, 2014/04/23
Hacker culture at an internet company. 文明塾, 2014/04/23
 
Business Application Development Course at AIIT
Business Application Development Course at AIITBusiness Application Development Course at AIIT
Business Application Development Course at AIIT
 
20140725 オープンデータ化の価値
20140725 オープンデータ化の価値20140725 オープンデータ化の価値
20140725 オープンデータ化の価値
 
the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘the Histrory of LT and ドラ娘
the Histrory of LT and ドラ娘
 

Similaire à VCS - Version Control System at Security and Programming camp 2011

Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Koji Shinba
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアルRyo Igarashi
 
分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介tod esking
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
バージョン管理とGit
バージョン管理とGitバージョン管理とGit
バージョン管理とGitsinsoku listy
 
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込むKazumi IWANAGA
 
Developer-Controlled Packages (DCPs) を試してみた
Developer-Controlled Packages (DCPs) を試してみたDeveloper-Controlled Packages (DCPs) を試してみた
Developer-Controlled Packages (DCPs) を試してみたTakahiro Kawabata
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwellsinsoku listy
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理Tadashi Miyazato
 
20130608 git-0
20130608 git-020130608 git-0
20130608 git-0Kasu Unko
 
Git勉強会資料
Git勉強会資料Git勉強会資料
Git勉強会資料Kenji Takei
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用賢次 海老原
 
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02Kosuke Tanabe
 
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab満徳 関
 

Similaire à VCS - Version Control System at Security and Programming camp 2011 (20)

Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
 
バージョン管理システムチュートリアル
バージョン管理システムチュートリアルバージョン管理システムチュートリアル
バージョン管理システムチュートリアル
 
分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介分散バージョン管理システムGitの紹介
分散バージョン管理システムGitの紹介
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
Git 20100313
Git 20100313Git 20100313
Git 20100313
 
Github入門2014
Github入門2014Github入門2014
Github入門2014
 
Git勉強会
Git勉強会Git勉強会
Git勉強会
 
バージョン管理とGit
バージョン管理とGitバージョン管理とGit
バージョン管理とGit
 
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
 
Developer-Controlled Packages (DCPs) を試してみた
Developer-Controlled Packages (DCPs) を試してみたDeveloper-Controlled Packages (DCPs) を試してみた
Developer-Controlled Packages (DCPs) を試してみた
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理OSSを利用したプロジェクト管理
OSSを利用したプロジェクト管理
 
20130608 git-0
20130608 git-020130608 git-0
20130608 git-0
 
Git勉強会資料
Git勉強会資料Git勉強会資料
Git勉強会資料
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02Next-L Enju 開発ワークショップ #02
Next-L Enju 開発ワークショップ #02
 
Git 20100724
Git 20100724Git 20100724
Git 20100724
 
Gitのススメ
GitのススメGitのススメ
Gitのススメ
 
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
『超初心者向け!visual studio + git で始めるアジャイル開発』 .NETラボ勉強会 #dotnetlab
 

Plus de Hiro Yoshioka

Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活Hiro Yoshioka
 
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」Hiro Yoshioka
 
不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにか不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにかHiro Yoshioka
 
続・人生100年時代の学び方
続・人生100年時代の学び方続・人生100年時代の学び方
続・人生100年時代の学び方Hiro Yoshioka
 
人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活Hiro Yoshioka
 
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...Hiro Yoshioka
 
人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性がある人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性があるHiro Yoshioka
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7Hiro Yoshioka
 
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演Hiro Yoshioka
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】Hiro Yoshioka
 
未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_study未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_studyHiro Yoshioka
 
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12Hiro Yoshioka
 
海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56Hiro Yoshioka
 
理科系の作文技術
理科系の作文技術理科系の作文技術
理科系の作文技術Hiro Yoshioka
 
Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015Hiro Yoshioka
 
質問される力 #TechGirls
質問される力 #TechGirls質問される力 #TechGirls
質問される力 #TechGirlsHiro Yoshioka
 
Oracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考えるOracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考えるHiro Yoshioka
 
Using oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureHiro Yoshioka
 
IT勉強会 Anatomy of IT Study groups, seminars, conferences in Japan
IT勉強会 Anatomy of IT Study groups, seminars, conferences in JapanIT勉強会 Anatomy of IT Study groups, seminars, conferences in Japan
IT勉強会 Anatomy of IT Study groups, seminars, conferences in JapanHiro Yoshioka
 

Plus de Hiro Yoshioka (20)

Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
Infra study 2nd #1 人生100年時代の学び方,定年後の大学院生活
 
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
Infra study 2nd #1「インフラ技術者・研究者としてのキャリア」
 
不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにか不揮発性メモリ(NVM)とはなにか
不揮発性メモリ(NVM)とはなにか
 
続・人生100年時代の学び方
続・人生100年時代の学び方続・人生100年時代の学び方
続・人生100年時代の学び方
 
人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活人生100年時代における学び方 定年後の学生生活
人生100年時代における学び方 定年後の学生生活
 
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
Thesis introduction "RECIPE : Converting Concurrent DRAM Indexes to Persisten...
 
人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性がある人生100年時代の学び方、脳には可塑性がある
人生100年時代の学び方、脳には可塑性がある
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、「私のような仕事につく方法」、2019/06/23 DevLOVE X Day 1 D-7
 
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
OSSとの付き合い方。OSSから学んだこと。OSS貢献者賞受賞講演
 
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
エンジニア人生と定年退職、人生100年時代のエンジニアの生き方、デブサミ 2019 【15-A-8】
 
未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_study未経験プログラマがコボルコンパイラを作った話 #compiler_study
未経験プログラマがコボルコンパイラを作った話 #compiler_study
 
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
Godel, Escher, Bach: an Eternal Golden Braid, reading club, Chapter 12
 
海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56海外から見た東京 〜人生100年時代の働き方〜 #efsta56
海外から見た東京 〜人生100年時代の働き方〜 #efsta56
 
理科系の作文技術
理科系の作文技術理科系の作文技術
理科系の作文技術
 
Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015Agile Software Development advanced course (PBL) at AIIT, 2015
Agile Software Development advanced course (PBL) at AIIT, 2015
 
質問される力 #TechGirls
質問される力 #TechGirls質問される力 #TechGirls
質問される力 #TechGirls
 
Oracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考えるOracle vs Google API 著作権裁判を考える
Oracle vs Google API 著作権裁判を考える
 
Using oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker culture
 
Be Hacker
Be HackerBe Hacker
Be Hacker
 
IT勉強会 Anatomy of IT Study groups, seminars, conferences in Japan
IT勉強会 Anatomy of IT Study groups, seminars, conferences in JapanIT勉強会 Anatomy of IT Study groups, seminars, conferences in Japan
IT勉強会 Anatomy of IT Study groups, seminars, conferences in Japan
 

Dernier

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 

Dernier (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

VCS - Version Control System at Security and Programming camp 2011

  • 1. ソースコード管理システム  よしおかひろたか  mailto:hyoshiok@gmail.com  http://d.hatena.ne.jp/hyoshiok  twitter @hyoshiok  セキュリティ&プログラミングキャンプ 2011
  • 2. 目次  なぜソースコード管理システムが必要なのか  大規模分散開発  Git の紹介
  • 3. バージョン管理システム  バージョン管理システムはなぜ必要なのか  VCS (Version Control System), SCM (Source Code Manager), RCS (Revision Control System) などとも 呼ばれている。  変更を管理したい  複数の人と共同作業をしたい
  • 4. 大規模分散開発  特徴  多くの人が開発に関与  それぞれ独立に開発をしていて他人の作業について すべて知っているわけではない  開発場所も分散している
  • 5. ソフトウェア開発のワークフロー  ソフトウェアを変更するとき  機能追加、拡張、変更  バグフィックス  性能改善  リファクタリング(機能は変更しないけど、より保 守しやすい実装へ変更するなど)
  • 6. ワークフロー  コミュニティーベースの開発の場合、様々な仕 事がある。  テスト  バグ登録  バグのトリアージ(優先順度付け)  バグのアサイン  コードの修正  ドキュメント執筆。翻訳。  レビュー。  その他いろいろ
  • 7. ソフトウェア開発のワークフロー  ソースコードリポジトリから取り出す  変更する(コンパイルエラー、ビルドエラーを 取り除く)  テストをする  期待どおりでない場合、(変更する、テストす る)を繰り返す  ソースコードリポジトリへ戻す  コンフリクトがある場合、コンフリクトを解消 するまで、上記を繰り返す
  • 8. リポジトリがなぜ必要なのか  リポジトリ:ソースコードの保管場所  複数の人が共通のコードで作業をしているから  共同作業のかなめ
  • 9. なぜバージョン管理が必要なのか  変更部分を知りたい  なぜ、その変更をしたのか  どのように変更したのか  自分の変更を追加したときにプログラムが期待通り に動かなくなった原因を知りたい  誰が何をやっているか知りたい  プロジェクトの進捗を知りたい  いつからバグが入っているか知りたい
  • 10. バージョン管理システムの例  git  subversion  cvs  sccs  Rational Clearcase ( 商用製品 )  Microsoft Team Foundation Server ( 商用製品 )
  • 11. VCS への Linux での要求事項*  分散開発を容易にする  何千人の開発者をも扱えること  高速で効率よく動作すること  完全性と信頼を維持すること  説明責任を強制すること *実用 Git 、 Jon Loeliger ( 著 ) 、吉藤 英明 ( 監訳 ) 、 ISBN: 978-4873114408
  • 12. VCS への Linux での要求事項、2  不変性  アトミックなトランザクション  分散した開発に対応し後押しをすること  完全なリポジトリ  すっきりとした内部設計  自由という意味でのフリー
  • 13. Git  Linux の創始者の Linus Torvalds が必要性にか られて開発  分散型  特徴  高速  分散開発のサポート  ハッシュ (SHA1) による完全性の維持
  • 14. git の利用  help  $ git help  $ git help COMMAND  $ git COMMAND --help
  • 15. ユーザ設定  コミッターと著者の設定  $ git config –globall user.name ”Your Name”  $ git config –global user.email your@email.address  設定の確認  $ git config -l
  • 16. リポジトリの作成  既にあるリポジトリからのコピー  $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git  $ git clone https://github.com/ruby/ruby  新規に作成する  $ git init
  • 17. 変更  ファイルの追加、変更など  $ git add ファイル  レポジトリへの反映  $ git commit  エディタが起動してコメント記入を求められる  $ git commit -m ”comments”
  • 18. 差分  $ git diff
  • 19. 履歴  $ git log  $ git whatchanged
  • 20. レポジトリの更新  $ git pull レポジトリ名  外部のレポジトリとマージする
  • 21. 二分探索  $ git bisect  バグを発見したとき、どのバージョンからバグ が混入したか調べる $ git bisect start $ git bisect bad                 # Current version is bad $ git bisect good v2.6.13­rc2    # v2.6.13­rc2 was the last version                                  # tested that was good
  • 22. 典型的なワークフロー  $ git clone レポジトリ  既存変更、テスト、デバッグなど  $ git add ファイル名  $ git commit  $ git push レポジトリ
  • 23. 付録:  github について  コメントを英語で書くのがなぜ推奨されるのか
  • 24. github  https://github.com/  git レポジトリのホスティングサービス  Ruby on Rails の開発などにも利用されている  無料でも使える  利用方法  アカウント作成  プロジェクト登録( git push などをして公開)  what are you coding ( 日々の活動をコードで表現)
  • 25. コメントは英語で  インターネットは英語が公用語  英語で書く訓練になる
  • 26. 参考書  入門 Git 、濱野純、 ISBN:978-4798023809  実用 Git 、 Jon Loeliger ( 著 ) 、吉藤 英明 ( 監 訳 ) 、 ISBN: 978-4873114408