Rabbit Slide Show

GitHubで学ぶバージョン管理

2013-04-26

Description

プログラマの仕事道具であるバージョン管理システムについて、 GitHubというWebサイトを使って学びます。 キーワードは「履歴」「共有」「協業」です。

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

Other slides