Text
Page: 1
GitHubで学ぶ
バージョン管理
Masafumi Yokoyama
社内勉強会 2013
2013/04/26
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 2
自己紹介
システムズエンジニア
入社5年目 (高学年)
フリーソフトウェアプログラマー
Rubyist/Vimmer/Linuxer (属性)
GitHub/RubyGems.org (活動場所)
Rabbit Collaborators (It is this!)
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 3
話すこと
バージョン管理について
バージョン管理システムについて
GitHubについて
GitHubをブラウザから使う方法
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 4
バージョン管理システムを
紹介する理由
プログラマーにとって、
とても便利なツールだから
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 5
キーワード
履歴 History
共有 Share
協業 Collaborate
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 6
話すこと
バージョン管理について
バージョン管理システムについて
GitHubについて
GitHubをブラウザから使う方法
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 7
バージョン管理とは
変更履歴
へんこうりれき
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 8
バージョン管理とは
変更履歴
へんこうりれき
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 9
変更とは
ファイルの追加・修正・削除
ソースコード
ドキュメント
画像
etc...
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 10
変更とは
ヒント 23: 常にソースコード
管理を使用すること
[ 「達人プログラマー」より引用 ]
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 11
常に
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 12
バージョン管理とは
変更履歴
へんこうりれき
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 13
履歴とは
変 更を積み重ね て進 歩す る に
は、記憶力が不可欠である。過去
を記 憶で き な い も の は同じ過ち
を繰り返すのである。
[ 「 Life of Reason ( 翻訳 : 達人プログラマー ) 」より引用 ]
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 14
進歩
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 15
履歴の例
UNDO (Ctrl + z)
src_20130425_01.zip
もっと便利に実現できる。
そう、バージョン管理ならね。
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 16
バージョン管理
消えないUNDO
まるごとコピーより省容量
豊富なメタ情報を記録
誰が変更したか
いつ変更したか
どのバージョンで変更したか
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 17
話すこと
バージョン管理について
バージョン管理システムについて
GitHubについて
GitHubをブラウザから使う方法
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 18
バージョン管理システム
サッカー選手がスパイクを履く
ように、プログラマーはバージョン
管理システムを使う
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 19
サーバーとクライアント
サーバー機能(リポジトリ)
変更履歴やメタ情報を保存
クライアント機能
ローカルのファイルをリポジトリへ登録
リポジトリのファイルをローカルへ取得
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 20
用語
バージョン管理システムの用語
登録
取得
commit
checkout
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 21
集中型と分散型
集中型
各クライアントが、一つの共有リポジトリ
に接続する
分散型
各クライアントがリポジトリ機能を持つ
リポジトリ間の連携が容易
通常、サーバー機に共有リポジトリを作
成する
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 22
主なソフトウェア
集中型
CVS
Subversion
分散型
Git
Mercurial
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 23
主なソフトウェア
集中型
CVS
Subversion
分散型
Git
Mercurial
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 24
用語
Gitの用語(コマンド)
登録
取得
ローカルと
add
checkout
リポジトリ
commit
リポジトリ
push
pull
連携
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 25
話すこと
バージョン管理について
バージョン管理システムについて
GitHubについて
GitHubをブラウザから使う方法
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 26
GitHubを紹介する理由
とても簡単にバージョン管理
できるツールだから
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 27
Not GitHub
自前のサーバーを構築
物理構築・環境構築・運用が大変
レンタルサーバー(VPSなど)
環境構築・運用が大変
ローカルのリポジトリのみ
クラッシュこわい
他の場所で使えない
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 28
GitHub
簡単に共有リポジトリが使える
無料
全てのファイルが公開される
人数制限なし
ブラウザから簡単管理
ブラウザだけでも使える
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 29
話すこと
バージョン管理について
バージョン管理システムについて
GitHubについて
GitHubをブラウザから使う方法
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 30
How to
GitHub
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 31
使える場所
コマンドライン
GUIアプリケーション
ブラウザ
ブラウザ (Gist)
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 32
コマンドライン
1. ローカルにGitをインストール
2. ブラウザからユーザー登録
3. ローカルでSSH鍵作成
4. ブラウザから公開鍵を登録
5. ブラウザで共有リポジトリ作成
6. 作業開始
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 33
ユーザー登録
参考
https://www.google.co.jp/search?q=github
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 34
GUIアプリケーション
GitHub for Windows
Windowsから簡単にGitHubを使える
GUIアプリケーション
https://www.google.co.jp/search?q=github+for+windows
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 35
ブラウザから使う
1. ローカルにGitをインストール
2. ブラウザからユーザー登録
3. ローカルでSSH鍵作成
4. ブラウザから公開鍵を登録
5. ブラウザで共有リポジトリ作成
6. 作業開始
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 36
デモ
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 37
リポジトリ作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 38
リポジトリ作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 39
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 40
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 41
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 42
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 43
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 44
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 45
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 46
ファイル修正
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 47
ファイル修正
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 48
ファイル修正
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 49
ファイル修正
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 50
ファイル修正
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 51
差分比較
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 52
差分比較
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 53
ブラウザから使う (Gist)
1. ローカルにGitをインストール
2. ブラウザからユーザー登録
3. ローカルでSSH鍵作成
4. ブラウザから公開鍵を登録
5. ブラウザで共有リポジトリ作成
6. 作業開始
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 54
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 55
ファイル作成
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 56
ファイル修正
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 57
ファイル修正
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 58
差分比較
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 59
まとめ
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 60
バージョン管理システムを
紹介する理由
プログラマーにとって、
とても便利なツールだから
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 61
GitHubを紹介する理由
とても簡単にバージョン管理
できるツールだから
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7
Page: 62
キーワード
履歴 History
共有 Share
協業 Collaborate
branch, trunk, merge
clone (fork), pull request
つづく。
GitHubで学ぶバージョン管理
Powered by Rabbit 2.0.7