GitHub ハンズオン
Haruka Iwao
PyLadies Tokyo Meetup #5
May 23, 2015
おやくそく
•  このスライドは個人的な物で、私の雇用
主もGitHubも無関係です
•  内容は正確を期していますが、間違って
いたらごめんなさい(無保証)
わたしはだれ?
•  岩尾 はるか (@Yuryu)
•  PyLadies Tokyo方面から来ました
•  恵比寿のソフトウェアエンジニア
– Linuxとか売ってます
– コミケでLinux本出してます
•  光の戦士(FF14)やってます
•  GitHubは2009年12月から利用中
今日のおしながき
•  GitHub とは?
•  GitHub を使ってみよう!
•  デスクトップから使ってみよう!
•  おまけ
GitHub とは?
GitHubとは
•  Gitを使ったコラボレーションサービス
•  単なるホスティング以上!
•  コードを公開する便利なところ
•  ネコ+タコのOctocatがマスコット
•  オープンソース利用なら無料!
GitHubで開発されている!
プロジェクトの例
•  Bootstrap
•  Node.js
•  Ruby on Rails
•  Docker
•  Django
•  Flask
•  Homebrew
•  Angular.js
•  Ansible
•  Tornado
•  GitLab
•  reddit
•  scikit-learn
•  Spring Framework
•  Elasticsearch
•  Storm
GitHubを使ってみよう
GitHubを使ってみよう
•  このセッションでは、「習うより慣れ
ろ」でまずはGitHubを使ってみます
•  GitHubの便利機能は無数にあるので、特
に重要な基本だけを説明します
•  実際には、プロジェクトごとに決まりが
あるので、詳しい人に聞いてみてね!
アカウント作成
ユーザー名
E-mail
パスワード
アカウント作成(続き)
•  すでにIDを持っていてスクリーンショッ
ト取れないので、個別に説明します
•  プランは「Free(無料)」でOK
– 有料プランは非公開のレポジトリが置ける
– 企業、グループ向けプランもあります
•  確認メールが届くので対応
ログイン!
レポジトリ作成
レポジトリ名
説明(オプション)
チェックする→
リポジトリができた
GitHub Flow
1. ブランチを作成
2. コミットを追加
3. Pull-Request
4. レビュー
5. マージ
1. ブランチを作成
•  変更点をまとめて管理する
•  いいこと
– 他の人に影響を及ぼさない
– 困ったときにまとめて無かったことにできる
– 複数の開発を平行できる
1. ブランチを作成
2. コミットを追加
•  ファイルを編集してみよう
ファイルを
選ぶ
鉛筆で編集
2. コミットを追加
2. コミットを追加
変更点の概要
変更点の詳細な説明
コミット!
3. Pull-Request
•  GitHubの便利な機能
•  「変更したから採用して!」
•  プルリク、PRとも略します
3. Pull-Request
クリック!
3. Pull-Request
コメントを記入
概要を記入
作成!
ブランチを
確認
3. Pull-Request
コメントを
追加
マージ
3. Pull-Request
コミット
一覧
変更点一覧
4. レビュー
•  内容についてコメントを書こう!
•  ブランチにさらにコミットしてみよう!
– 手順は 2. コミットを追加と同様
•  コミットが済んだらもう一度PRを確認!
•  すべてOKならいよいよマージしよう!
5. マージ
クリック!
5. マージ
これでマージ成功
作業が完了したら Delete banchでブランチ削除
GitHub Flow
1. ブランチを作成
2. コミットを追加
3. Pull-Request
4. レビュー
5. マージ
複数人でやってみよう
1. Settings(一番
下)を選ぶ
2. Collaborators
を選ぶ
3. 追加したい人の
ユーザー名を入力
4. クリックで追加
隣の席の人とユーザー名を交換しよう!
お互いのレポジトリでGitHub Flowをしてみよう!
GitHub Flow
1. ブランチを作成
2. コミットを追加
3. Pull-Request
4. レビュー
5. マージ
fork
fork してみよう
•  「書き込み権を渡さずに、コードを編集
してもらいたい」
•  「ちょっと編集してみたいけど、権限も
らうほどじゃないなぁ」
•  コピーを自分の手元に作る→fork
右上のForkボタン
を押す
fork中…
自分のレポジトリになった
普段通りforkで作業
デスクトップ
デスクトップから使う
•  Webはお手軽だけど小回りがきかない
•  デスクトップで使おう
– https://windows.github.com/	
  
– https://mac.github.com/	
  
•  初回起動時に名前、Email、GitHubのID/パ
スワードを入れると準備完了
起動画面
レポジトリ追加
+ボタン
新規作成
既にPC上に存在するもの
を、このソフトに追加
GitHubから
Clone(コピー)
基本操作
右クリック
メニュー
ブランチ選択
新規作成
Pull-Request
GitHub
サーバーと同期
-  GitHubで開く
-  エクスプローラーで見る
-  Gitシェルを開く
-  レポジトリ削除
GitHub Flow
1. ブランチを作成
2. コミットを追加
3. Pull-Request
4. レビュー
5. マージ
ブランチを作成
エディタで編集
•  Open in Explorer や Open in Finder でファ
イルを編集してみよう
•  MacならOpen in Terminalでシェルを開い
てもOK
•  終わったら変更点を確認→コミット
コミット方法(Windows)
•  “Uncommitted Changes” をクリック
•  差分とブランチを確認
•  コミットの説明を書いてCommit
コミット方法(Mac)
•  Changesタブをクリック
•  差分とブランチを確認
•  コミットの説明を書いてCommit
Pull-Request 作成
•  右上の “Publish” をクリック
– ブランチがGitHubに送信されます
•  Pull-Requestのマークをクリック
•  説明を書いてPull-Requestを作成
Pull-Requestその後
•  レビュー、マージはWebから作業
•  追加のコミットは、同じように編集して
コミット、右上の「Sync」で同期
•  ローカルのBranchは削除するブランチか
ら別のブランチに切り替えた後、
「Manage」または「Branches」から削除
ブランチ削除(Windows)
ゴミ箱で削除
ブランチ削除(Mac)
Deleteで削除
シェル
•  Open in Git Shell (Windows)または Open
in Terminal(Mac)で、コマンドラインが利
用できます
•  細かい作業をするときに便利
– 調べてみてね
Gistとは
•  ファイル数個だけのGitレポジトリ
ファイル名
Gistの説明(タイトル)
ファイルの中身
非公開か公開で作成
ファイルを追加
https://gist.github.com/
IntelliJ + GitHub
•  GitHub PluginでIDEから
利用可能
•  一通りのことができる
•  ファイルを右クリック
で”Create Gist”
–  すぐ貼れて便利
GitHub Enteprise
•  企業専用のGitHub
•  「ソースを共有サービスに出したくな
い」人でもばっちり使える
•  ファイアウォールの内側で動作
– 例外: AWS上でも動かせます
•  会社にない人はねだってみよう!
– 1人1ヶ月あたり2,000円ちょっとです
GitHub Shop
•  グッズを販売(Tシャツ、ステッカー他)
•  送料結構するので共同購入もあり
GitHub Octodex
•  いろんなOctocatのギャラリーです
参考資料
•  GitHub Guides
–  https://guides.github.com/	
  
–  「GitHubをどう使うか」をやさしく解説
–  英語ですが図がわかりやすい
•  Git Book
–  http://git-­‐scm.com/book/ja/v1	
  
–  Gitそのものの詳しい解説
•  【永久保存版】初心者 ~ 上級者向け Gitをより理
解するために厳選したサイトやスライドをまとめ
てみた
–  https://nanapi.jp/109937/	
  
–  いろんなスライドや資料へのリンクがあります

Git for Begineers GitHub ハンズオン