SlideShare ist ein Scribd-Unternehmen logo
1 von 62
Downloaden Sie, um offline zu lesen
GitHubで学ぶ
 バージョン管理
                   Masafumi Yokoyama
                           社内勉強会2013
                             2013/04/26

GitHubで学ぶバージョン管理                 Powered by Rabbit 2.0.7
自己紹介
     システムズエンジニア
             入社5年目 (高学年)

     フリーソフトウェアプログラマー
             Rubyist/Vimmer/Linuxer (属性)
             GitHub/RubyGems.org (活動場所)
             Rabbit Collaborators (It is this!)

GitHubで学ぶバージョン管理                                  Powered by Rabbit 2.0.7
話すこと

          バージョン管理について
          バージョン管理システムについて
          GitHubについて
          GitHubをブラウザから使う方法


GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
バージョン管理システムを
           紹介する理由


             プログラマーにとって、
             とても便利なツールだから



GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
キーワード


          履歴 History
          共有 Share
          協業 Collaborate


GitHubで学ぶバージョン管理             Powered by Rabbit 2.0.7
話すこと

          バージョン管理について
          バージョン管理システムについて
          GitHubについて
          GitHubをブラウザから使う方法


GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
バージョン管理とは



                    変更履歴
                    へんこうりれき



GitHubで学ぶバージョン管理               Powered by Rabbit 2.0.7
バージョン管理とは



                    変更履歴
                    へんこうりれき



GitHubで学ぶバージョン管理               Powered by Rabbit 2.0.7
変更とは

          ファイルの追加・修正・削除
              ソースコード
              ドキュメント
              画像
              etc...


GitHubで学ぶバージョン管理              Powered by Rabbit 2.0.7
変更とは



             ヒント23: 常にソースコード
             管理を使用すること
                    [「達人プログラマー」より引用]




GitHubで学ぶバージョン管理                   Powered by Rabbit 2.0.7
常に
GitHubで学ぶバージョン管理   Powered by Rabbit 2.0.7
バージョン管理とは



                    変更履歴
                    へんこうりれき



GitHubで学ぶバージョン管理               Powered by Rabbit 2.0.7
履歴とは


         変 更を積み重ね て進 歩す る に
        は、記憶力が不可欠である。過去
        を記 憶で き な い も の は同じ過ち
        を繰り返すのである。
           [「Life of Reason (翻訳: 達人プログラマー)」より引用]




GitHubで学ぶバージョン管理                               Powered by Rabbit 2.0.7
進歩
GitHubで学ぶバージョン管理   Powered by Rabbit 2.0.7
履歴の例

          UNDO (Ctrl + z)
          src_20130425_01.zip
     もっと便利に実現できる。
     そう、バージョン管理ならね。


GitHubで学ぶバージョン管理                Powered by Rabbit 2.0.7
バージョン管理
          消えないUNDO
              まるごとコピーより省容量

          豊富なメタ情報を記録
              誰が変更したか
              いつ変更したか
              どのバージョンで変更したか

GitHubで学ぶバージョン管理              Powered by Rabbit 2.0.7
話すこと

          バージョン管理について
          バージョン管理システムについて
          GitHubについて
          GitHubをブラウザから使う方法


GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
バージョン管理システム


         サッカー選手がスパイクを履く
        ように、プログラマーはバージョン
        管理システムを使う



GitHubで学ぶバージョン管理      Powered by Rabbit 2.0.7
サーバーとクライアント

     サーバー機能(リポジトリ)
             変更履歴やメタ情報を保存

     クライアント機能
             ローカルのファイルをリポジトリへ登録
             リポジトリのファイルをローカルへ取得


GitHubで学ぶバージョン管理             Powered by Rabbit 2.0.7
用語


          バージョン管理システムの用語
            登録       取得
           commit  checkout



GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
集中型と分散型
     集中型
             各クライアントが、一つの共有リポジトリ
             に接続する
     分散型
             各クライアントがリポジトリ機能を持つ
             リポジトリ間の連携が容易
             通常、サーバー機に共有リポジトリを作
             成する
GitHubで学ぶバージョン管理             Powered by Rabbit 2.0.7
主なソフトウェア
     集中型
             CVS
             Subversion

     分散型
             Git
             Mercurial

GitHubで学ぶバージョン管理              Powered by Rabbit 2.0.7
主なソフトウェア
     集中型
             CVS
             Subversion

     分散型
             Git
             Mercurial

GitHubで学ぶバージョン管理              Powered by Rabbit 2.0.7
用語

         Gitの用語(コマンド)
              登録      取得
     ローカルと     add  checkout
     リポジトリ   commit
     リポジトリ    push    pull
      連携

GitHubで学ぶバージョン管理         Powered by Rabbit 2.0.7
話すこと

          バージョン管理について
          バージョン管理システムについて
          GitHubについて
          GitHubをブラウザから使う方法


GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
GitHubを紹介する理由



             とても簡単にバージョン管理
             できるツールだから



GitHubで学ぶバージョン管理         Powered by Rabbit 2.0.7
Not GitHub
          自前のサーバーを構築
              物理構築・環境構築・運用が大変

          レンタルサーバー(VPSなど)
              環境構築・運用が大変

          ローカルのリポジトリのみ
              クラッシュこわい
              他の場所で使えない
GitHubで学ぶバージョン管理                Powered by Rabbit 2.0.7
GitHub
          簡単に共有リポジトリが使える
              無料
                   全てのファイルが公開される

              人数制限なし

          ブラウザから簡単管理
          ブラウザだけでも使える

GitHubで学ぶバージョン管理                   Powered by Rabbit 2.0.7
話すこと

          バージョン管理について
          バージョン管理システムについて
          GitHubについて
          GitHubをブラウザから使う方法


GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
How to
     GitHub
GitHubで学ぶバージョン管理   Powered by Rabbit 2.0.7
使える場所

          コマンドライン
          GUIアプリケーション
          ブラウザ
          ブラウザ (Gist)


GitHubで学ぶバージョン管理           Powered by Rabbit 2.0.7
コマンドライン
       1. ローカルにGitをインストール
       2. ブラウザからユーザー登録
       3. ローカルでSSH鍵作成
       4. ブラウザから公開鍵を登録
       5. ブラウザで共有リポジトリ作成
       6. 作業開始
GitHubで学ぶバージョン管理             Powered by Rabbit 2.0.7
ユーザー登録



     参考
     https://www.google.co.jp/search?q=github




GitHubで学ぶバージョン管理                                Powered by Rabbit 2.0.7
GUIアプリケーション


     GitHub for Windows
             Windowsから簡単にGitHubを使える
             GUIアプリケーション
     https://www.google.co.jp/search?q=github+for+windows




GitHubで学ぶバージョン管理                                     Powered by Rabbit 2.0.7
ブラウザから使う
       1. ローカルにGitをインストール
       2. ブラウザからユーザー登録
       3. ローカルでSSH鍵作成
       4. ブラウザから公開鍵を登録
       5. ブラウザで共有リポジトリ作成
       6. 作業開始
GitHubで学ぶバージョン管理              Powered by Rabbit 2.0.7
デモ
GitHubで学ぶバージョン管理   Powered by Rabbit 2.0.7
リポジトリ作成




GitHubで学ぶバージョン管理             Powered by Rabbit 2.0.7
リポジトリ作成




GitHubで学ぶバージョン管理             Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル修正




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル修正




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル修正




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル修正




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル修正




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
差分比較




GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
差分比較




GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
ブラウザから使う (Gist)
       1. ローカルにGitをインストール
       2. ブラウザからユーザー登録
       3. ローカルでSSH鍵作成
       4. ブラウザから公開鍵を登録
       5. ブラウザで共有リポジトリ作成
       6. 作業開始
GitHubで学ぶバージョン管理         Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル作成




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル修正




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
ファイル修正




GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
差分比較




GitHubで学ぶバージョン管理          Powered by Rabbit 2.0.7
まとめ
GitHubで学ぶバージョン管理   Powered by Rabbit 2.0.7
バージョン管理システムを
           紹介する理由


             プログラマーにとって、
             とても便利なツールだから



GitHubで学ぶバージョン管理            Powered by Rabbit 2.0.7
GitHubを紹介する理由



             とても簡単にバージョン管理
             できるツールだから



GitHubで学ぶバージョン管理         Powered by Rabbit 2.0.7
キーワード
          履歴 History
          共有 Share
          協業 Collaborate
              branch, trunk
              clone (fork), pull request

                                           つづく。
GitHubで学ぶバージョン管理                            Powered by Rabbit 2.0.7

Weitere ähnliche Inhalte

Was ist angesagt?

Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理WordPressサイトのバージョン管理
WordPressサイトのバージョン管理lolipopjp
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013DQNEO
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスRyo Sumasu
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0Masakazu Matsushita
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門dsuke Takaoka
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたTakako Miyagawa
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?Kiyotaka Kunihira
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuokaJunji Manno
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用Reimi Kuramochi Chiba
 
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろうGitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろうNobuhiro Ueda
 
Metahub for github
Metahub for githubMetahub for github
Metahub for githubSuguru Oho
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみたhiroyuki koga
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Tadahiro Ishisaka
 
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Yoshinori Kawasaki
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12matsuo kenji
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例Hirohito Kato
 

Was ist angesagt? (20)

Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
WordPressサイトのバージョン管理
WordPressサイトのバージョン管理WordPressサイトのバージョン管理
WordPressサイトのバージョン管理
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 
WindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティスWindowsでGitを使う際のベストプラクティス
WindowsでGitを使う際のベストプラクティス
 
いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0いつやるの?Git入門 v1.1.0
いつやるの?Git入門 v1.1.0
 
Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
Wordbench fukuoka
Wordbench fukuokaWordbench fukuoka
Wordbench fukuoka
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
GitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろうGitHub + Circle CI で幸せになろう
GitHub + Circle CI で幸せになろう
 
Metahub for github
Metahub for githubMetahub for github
Metahub for github
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみた
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)
 
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
 
Gitの使い方あれこれ
Gitの使い方あれこれGitの使い方あれこれ
Gitの使い方あれこれ
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12
 
Git flowの活用事例
Git flowの活用事例Git flowの活用事例
Git flowの活用事例
 

Ähnlich wie GitHubで学ぶバージョン管理

GitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理するGitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理するjiro4989
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfYoshiki Tanaka
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwellsinsoku listy
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料Kenji Takei
 
Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序Wataru Unno
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Koji Shinba
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルComputational Materials Science Initiative
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップHiroaki Murayama
 
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
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会kunimiya
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門kazuki kuriyama
 
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込むKazumi IWANAGA
 
GitHubアカウントの作成
GitHubアカウントの作成GitHubアカウントの作成
GitHubアカウントの作成Takaomi Murasaki
 

Ähnlich wie GitHubで学ぶバージョン管理 (20)

GitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理するGitHub Releasesからインストールしたコマンドを管理する
GitHub Releasesからインストールしたコマンドを管理する
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
Git 初心者講座 by forkwell
Git 初心者講座 by forkwellGit 初心者講座 by forkwell
Git 初心者講座 by forkwell
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
Git社内勉強会資料
Git社内勉強会資料Git社内勉強会資料
Git社内勉強会資料
 
Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序
 
Git -分散バージョン管理システム-
Git -分散バージョン管理システム-Git -分散バージョン管理システム-
Git -分散バージョン管理システム-
 
【BS8】GitHub Advanced Security で実践できる DevSecOps 対策
【BS8】GitHub Advanced Security で実践できる DevSecOps 対策【BS8】GitHub Advanced Security で実践できる DevSecOps 対策
【BS8】GitHub Advanced Security で実践できる DevSecOps 対策
 
Git 20100313
Git 20100313Git 20100313
Git 20100313
 
Version Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアルVersion Control System Tutorial バージョン管理システムチュートリアル
Version Control System Tutorial バージョン管理システムチュートリアル
 
GitHubワークショップ
GitHubワークショップGitHubワークショップ
GitHubワークショップ
 
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
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
 
Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門Git & ブランチモデルで学ぶ バージョン管理入門
Git & ブランチモデルで学ぶ バージョン管理入門
 
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
日々の開発フローにプラスする GitHub Actions ~ セキュリティ対策を取り込む
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
 
Git&GitHub入門
Git&GitHub入門Git&GitHub入門
Git&GitHub入門
 
Git地図
Git地図Git地図
Git地図
 
GitHubアカウントの作成
GitHubアカウントの作成GitHubアカウントの作成
GitHubアカウントの作成
 

Mehr von Masafumi Yokoyama

Mehr von Masafumi Yokoyama (9)

Rabbit on Sinatra
Rabbit on SinatraRabbit on Sinatra
Rabbit on Sinatra
 
コマンドプロンプト Tips
コマンドプロンプト Tipsコマンドプロンプト Tips
コマンドプロンプト Tips
 
百万件くらいのデータの扱い方
百万件くらいのデータの扱い方百万件くらいのデータの扱い方
百万件くらいのデータの扱い方
 
文字コード略歴
文字コード略歴文字コード略歴
文字コード略歴
 
Rabbit2.0!!
Rabbit2.0!!Rabbit2.0!!
Rabbit2.0!!
 
文字コード略歴
文字コード略歴文字コード略歴
文字コード略歴
 
My add Git
My add GitMy add Git
My add Git
 
日本語フォント・メイリオ
日本語フォント・メイリオ日本語フォント・メイリオ
日本語フォント・メイリオ
 
バージョン管理入門
バージョン管理入門バージョン管理入門
バージョン管理入門
 

GitHubで学ぶバージョン管理