142 Views
February 26, 18
スライド概要
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
Yahoo JAPAN MEET UP ~Gitを使ったチーム開発体験@名古屋~ Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
第1部 Gitの概要/準備 2 0 1 7 Yahoo Yaho o Japan Jap anCorporation. Co rp o ratio n.AllAll Rig hts Reserved . Co p yrig ht © Copyright Rights Reserved. © 22017
こういう経験していませんか? よーし、先週開発してたアプリの続きをやる ぞ〜 ・・・ あれ?このコードってなんで追加したんだっ け? 3 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
こういう経験していませんか? ここの機能の開発、出来たよ! ソースコードをメールに添付して送るから取り込んでね。 ありがとう!じゃこのファイルをコピペして・・・ わ!自分が作ってた部分が上書きされちゃった! 4 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
こういう経験していませんか? ここの機能の開発、出来たよ! ソースコードをメールに添付して送るから取り込んでね。 GitとGitHubを使って 解決しましょう! ありがとう!じゃこのファイルをコピペして・・・ わ!自分が作ってた部分が上書きされちゃった! 5 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
今日のワークショップのゴール チーム開発のための Git/GitHubの基礎を学ぶ 6 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
バージョン管理って? ファイルの変更を記録しておくシステム 「誰が」「どのファイルを」「どう変更したか」 がわかる 7 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
バージョン管理って? ファイルの変更を記録する場所 ↓ リポジトリ APIサーバ リポジトリ iPhoneアプリ リポジトリ 8 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . ○○ライブラリ リポジトリ
バージョン管理って? リポジトリ内でのバージョン管理 過去の状態 2017/09/24 14:15 田中さんが タイトルを変更 2017/09/24 12:15 佐藤さんが 背景画像を変更 9 最新の状態 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 2017/09/25 08:15 山田さんが 本文を変更
バージョン管理の嬉しいところ 過去の状態との差分がわかる 差分 2017/09/24 14:15 田中さんが タイトルを変更 2017/09/24 12:15 佐藤さんが 背景画像を変更 10 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 2017/09/25 08:15 山田さんが 本文を変更
バージョン管理の嬉しいところ 過去の状態に戻せる 過去の状態を最新として扱う 2017/09/24 14:15 田中さんが タイトルを変更 2017/09/24 12:15 佐藤さんが 背景画像を変更 11 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . 2017/09/25 08:15 山田さんが 本文を変更
バージョン管理とGit バージョン管理の方式はいくつかある 今回はGitを使います Subversion Git Mercurial 12 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitとGitHub 13 Git バージョン管理のシステム GitHub Gitでのバージョン管理をしやすくするWeb サービス ブラウザで変更履歴を見たりコードを 共有したりするのが簡単に出来る Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Gitを使うには コマンドラインツールでgitコマンドを使う or GUIツールを使う ↓ 今回はSourceTreeというGUIツールを使います 14 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Sourcetreeのダウンロード https://ja.atlassian.com/software/sourcetr ee にアクセスして、ダウンロード 15 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeのインストール • Windows • exeファイルを実行 • mac OS • zipファイルを展開して出来た SourceTree.appをアプリケーション以下に 移動 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeのインストール ライセンスに同意にチェック 17 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeのインストール 「既存のアカウント」 ・Googleアカウント ・Atlassianアカウント のどちらかでログイン 18 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeのインストール 19 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeのインストール Mac:「セットアップをスキップ」 Windows:「スキップ」 20 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
もしこの画面が出たら Gitが見つかりませんでした 21 Co p yrig ht © 2 0 1 7 Mercurialが見つかりませんでした Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitHubの設定 GitHub用に下記の作業を進めます • アカウント作成 • リポジトリの作成 22 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitHubの設定(アカウント作成) https://github.com にアクセス 23 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitHubの設定(アカウントの作成) 24 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
リポジトリを作りましょう https://github.com/new にアクセス 自分のアカウント以下に リポジトリを作成 • nagoya-meetup2018 25 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeとGitHubを連携(Win) GitHub、HTTPSを選択 Basic認証 アカウントを追加をクリック 26 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeとGitHubを連携(mac) メニューバー「Sourcetree」 →環境設定→アカウント GitHubを選択し 「接続アカウント」をクリック →ログイン画面からログイン 27 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
SourceTreeとGitHubを連携 リモートリポジトリを選択し 先ほど作成した nagoya-meetup2018 が存在すれば連携完了! 28 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
休憩 29 0 1 7 Yahoo Yaho o Japan Jap anCorporation. Co rp o ratio n.AllAll Rig hts Reserved . Co p yrig ht © Copyright Rights Reserved. © 22017
第2部 Gitハンズオン 30 0 1 7 Yahoo Yaho o Japan Jap anCorporation. Co rp o ratio n.AllAll Rig hts Reserved . Co p yrig ht © Copyright Rights Reserved. © 22017
この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitHub→自分のPCに持ってくる リモートリポジトリ : 色んな人が共有出来るようにしたリポジトリ。 GitHub上に置かれたリポジトリはリモートリポジトリ。 ローカルリポジトリ : 自分のPC上にだけ存在するリポジトリ。 ローカルリポジトリ 33 Co p yrig ht © 2 0 1 7 リモートリポジトリ Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitHub→自分のPCに持ってくる clone : リモートリポジトリをローカルリポジトリにコピーする ※初回のみの操作 clone ローカルリポジトリ 34 Co p yrig ht © 2 0 1 7 リモートリポジトリ Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを修正してGitで扱う ファイルの変更をローカルリポジトリに 登録するには2つのステップが必要です ファイルを変更したよ! ローカルリポジトリ 36 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを修正してGitで扱う どのファイルの変更を登録するかを選択して、 ステージング領域に追加する → add という add ステージング領域 (インデックスともいう) ローカルリポジトリ 37 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを修正してGitで扱う addしたステージング領域の変更を ローカルリポジトリに登録する → commit という ステージング領域 (インデックスともいう) commit ローカルリポジトリ 38 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを修正してGitで扱う commit時にはどういう変更をしたかを コメントで残す必要があります commitコメント ステージング領域 (インデックスともいう) commit ローカルリポジトリ 39 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを修正してGitで扱う 大事なこと • ファイルの変更はaddしてcommit • commitしたときはコメントを残す commitコメント ステージング領域 commit add ローカルリポジトリ 40 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
自分のPC→GitHubに反映する push: ローカルリポジトリの変更をリモートリポジトリに反映する push ローカルリポジトリ 42 Co p yrig ht © 2 0 1 7 リモートリポジトリ Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
第2部の課題ワーク SourceTreeを使って 一連の流れをやってみましょう! 43 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitHub→自分のPCに持ってくる clone : リモートリポジトリをローカルリポジトリにコピーする ※初回のみの操作 clone ローカルリポジトリ 44 Co p yrig ht © 2 0 1 7 リモートリポジトリ Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
cloneをSourceTreeでやってみよう GitHub上のリポジトリのページで、赤で囲んだボタンをクリック →リポジトリのURLがコピーされます 45 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
cloneをSourceTreeでやってみよう 1. 2. 3. 4. 46 新規→「URLからクローン」を選択 ソースURLに先ほどコピーしたURLをペースト 「クローン」をクリック 「保存先のパス」がローカルリポジトリになります Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
cloneをSourceTreeでやってみよう 上記の設定をおまけでやっておきましょう 47 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ローカルリポジトリを確認しよう エクスプローラ/Finderで 先ほどのパスを開いてみましょう この開いたフォルダ =ローカルリポジトリ 48 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを追加しましょう テキストファイルをメモ帳やテキストエディタで作成します • ファイル名は「README.txt」 • 本文には「Hello Nagoya!」 • 保存場所はローカルリポジトリ 49 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを修正してGitで扱う どのファイルの変更を登録するかを選択して、 ステージング領域に追加する → add という add ステージング領域 (インデックスともいう) ローカルリポジトリ 50 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ステージングにaddしよう README.txtが出来ている 51 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ステージングにaddしよう • チェックボックスをチェック • ファイルを上にドラッグ&ドロップ のどちらかでステージングへadd 52 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ステージングにaddしよう ファイルがステージングにaddされた 53 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ステージングにaddしよう ファイルの差分が表示されている 54 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ファイルを修正してGitで扱う addしたステージング領域の変更を ローカルリポジトリに登録する → commit という ステージング領域 (インデックスともいう) commit ローカルリポジトリ 55 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ローカルリポジトリにcommitしよう 「コミット」をクリック 56 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ローカルリポジトリにcommitしよう commitコメントを入力してコミット 57 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ローカルリポジトリにcommitしよう ステージングからローカルリポジトリに commitされたのでなくなった 58 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
自分のPC→GitHubに反映する push: ローカルリポジトリの変更をリモートリポジトリに反映する push ローカルリポジトリ 59 Co p yrig ht © 2 0 1 7 リモートリポジトリ Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
リモートリポジトリにpushしよう 「プッシュ」をクリック 60 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
リモートリポジトリにpushしよう masterをチェックしてOK 61 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
GitHubに反映されていることを確認 62 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
作業ワークのやることリスト • リモートリポジトリからローカルリポジトリにclone • README.txtを作成してローカルリポジトリに保存 • SourceTreeでadd→commit→push • GitHub上で反映されているか確認 わからないところがあったらサポーターに! 63 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
第2部のまとめ • リポジトリは2種類ある • リモートリポジトリ • ローカルリポジトリ • ファイルの変更を登録するには • addしてコメントを書いてcommit • リモート→ローカルにコピーするにはclone • リモートリポジトリに反映するにはpush 64 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
休憩 65 0 1 7 Yahoo Yaho o Japan Jap anCorporation. Co rp o ratio n.AllAll Rig hts Reserved . Co p yrig ht © Copyright Rights Reserved. © 22017
第3部 チーム開発演習 66 0 1 7 Yahoo Yaho o Japan Jap anCorporation. Co rp o ratio n.AllAll Rig hts Reserved . Co p yrig ht © Copyright Rights Reserved. © 22017
この部でやりたいこと 1つのリモートリポジトリに対して2人がそれ ぞれ作業出来る Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
第2部でやったこと push: ローカルリポジトリの変更をリモートリポジトリに反映する push ローカルリポジトリ 68 Co p yrig ht © 2 0 1 7 リモートリポジトリ Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
pushを2人同時にやると…? 機能Aを push 機能Bを push 69 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
pushを2人同時にやると…? 機能Aと機能Bが 混ざってしまう 70 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
pushを2人同時にやると…? 混ざるのを避けるため 作業環境を分ける 機能Aと機能Bが 混ざってしまう 71 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
pushを2人同時にやると…? 混ざるのを避けるため ブランチを分ける 機能Aと機能Bが 混ざってしまう 72 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ブランチについて 最新の状態 大元のブランチ →masterブランチ 73 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ブランチについて Aさんの作業ブランチ 最新の状態からブランチを分ける →チェックアウト という Bさんの作業ブランチ 74 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ブランチについて それぞれの変更をコミット 75 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ブランチについて masterブランチに反映 →マージ 76 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
マージをするには? Pull Requestを作成する • GitHubの機能 • マージしてOKかコードレビューをする Pull Request作成 77 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . コードレビュー
ブランチの作成方法 「ブランチ」をクリック 78 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ブランチの作成方法 ブランチ名はGitHubアカウントとします 79 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ブランチの作成方法 左メニューの「ブランチ」に項目が増えています ○が付いているのが現在のブランチ ブランチ名をダブルクリックすると切り替えられます 80 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestの作成方法 • • • 81 ファイルを修正してadd→commit 作成したブランチをリモートリポジトリにpush • masterブランチにpushしないように注意! すると、GitHub上の画面がこのようになります Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestの作成方法 Compare & pull requestをクリック 82 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestの作成方法 83 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestの作成方法 Pull Requestの概要文 →どのような変更をしたかの説明を記載します。 84 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestの作成方法 Create pull requestをクリック 85 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestの作成方法 86 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestでのコードレビュー Files changedで差分が見られる 87 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Pull Requestでのコードレビュー レビュワーは問題なければコメントを残す Merge pull requestをクリックしてマージ 88 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
マージ分をローカルに反映する Pull Requestがマージされると • リモートリポジトリのmasterブランチに反映される • ローカルリポジトリのmasterブランチにはまだ未反映 作業ブランチ 89 マージ master Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . master
マージ分をローカルに反映する ローカルリポジトリのmasterブランチに反映させる → pull という 作業ブランチ 90 マージ pull master Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . master
マージ分をローカルに反映する masterブランチに切り替え 91 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
マージ分をローカルに反映する 「プル」をクリック 92 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
マージ分をローカルに反映する ブランチを作成して マージしている 93 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
第3部の課題ワーク ここからはペアで作業します 机の上にあるペア番号を確認してください スクリーン Aさん 94 Bさん Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
前準備(演習用ソースコードのコピー) https://github.com/kosshima/gitmeetup180217 Aさんが上記のGitHubにアクセスして 「Fork」してください ※Fork: 他の人のGitHub上のリポジトリを自分のリポジトリにコ ピーする 95 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Forkの方法 96 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
前準備(Collaboratorsに登録) 97 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
前準備(Collaboratorsに登録) 98 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
前準備(Collaboratorsに登録) 99 BさんのGitHubアカウントを入力して Add collaboratorをクリック Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
確認 サポーターが確認します 100 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その1 準備は完了です! AさんのGitHubにある 「git-meetup180217」を AさんもBさんもcloneしてください 101 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その1 ブランチを作成し、sample.htmlの ↑部分をそれぞれ書き換えてください 102 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その1 AさんもBさんも同時に作業してください • アカウント名でブランチを作成 • sample.htmlに自分のアカウント名を追記 • add→commit→push • Pull Requestを作成 ここまで出来たらサポーターがチェックします 103 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その1 BさんはAさんのPull Requestをレビューします • 問題なければその旨をコメント • マージする • Bさんのローカルリポジトリにpullして反映 • ブランチをmasterに切り替えてから 104 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その1 AさんはBさんのPull Requestをレビューします • 問題なければその旨をコメント • マージする • Aさんのローカルリポジトリにpullして反映 105 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その2 2人同時に同じ箇所を修正します まずmasterブランチにcheckoutして pullしてください 106 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その2 次に先ほどとは別の名前で ブランチを作成し、sample.htmlの ↑部分をそれぞれ書き換えてください 最近食べた美味しかったものをそれぞれ書きます 107 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その2 2人同時に行います • 先ほどとは別の名前でブランチを作成 • sample.htmlに好きな食べ物を追記 • add→commit→push • Pull Requestを作成 ここまで出来たらサポーターがチェックします 108 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その2 AさんはBさんのPull Requestをレビューします • 問題なければその旨をコメント • マージする • Aさんのローカルリポジトリにpullして反映 • ブランチをmasterに切り替えてから 109 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ペアで作業してみよう その2 BさんはAさんのPull Requestをレビューします ここで一回STOP • 問題なければその旨をコメント • マージする • Bさんのローカルリポジトリにpullして反映 コンフリクトが起こります ※コンフリクト:同じ箇所を修正し、修正が重複している状態 110 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
コンフリクト 111 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
コンフリクトの解消 後のコミット 先のコミット 112 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
コンフリクトの解消 113 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
コンフリクトの解消 114 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
マージが可能に マージします 115 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
masterブランチの確認 116 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
第3部のまとめ • • • • • 作業前にブランチを作成する 完了したらmasterブランチへPull Request コードレビューをしてマージする ローカルリポジトリにはpullで反映する 同時に同じ箇所を修正しあったら コンフリクトが起こる • コンフリクトが起きても修正は可能 117 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
おわりに 118 0 1 7 Yahoo Yaho o Japan Jap anCorporation. Co rp o ratio n.AllAll Rig hts Reserved . Co p yrig ht © Copyright Rights Reserved. © 22017
ローカルリポジトリでの作業 • ファイルの変更はaddしてcommit • commitしたときはコメントを残す commitコメント ステージング領域 commit add ローカルリポジトリ 119 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ローカルとリモートのやりとり clone : リモートリポジトリをローカルリポジトリにコピー pull : リモートリポジトリの変更をローカルリポジトリに反映 push : ローカルリポジトリの変更をリモートリポジトリに反映 clone pull push ローカルリポジトリ 120 Co p yrig ht © 2 0 1 7 リモートリポジトリ Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
ブランチについて 作業用ブランチ Pull Request masterブランチ 121 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
まとめ GitとGitHubにはこれ以外にも便利な機能があります。 が、コマンドや機能を覚えるのはあとからでも出来ます。 まずは基本的な仕組みをしっかりおさえて 今後の開発で使っていきましょう! 122 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Appendix 123 0 1 7 Yahoo Yaho o Japan Jap anCorporation. Co rp o ratio n.AllAll Rig hts Reserved . Co p yrig ht © Copyright Rights Reserved. © 22017
Gitコマンドでの操作 • add $ git add ファイルパス • commit $ git commit –m "commitコメント" Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Gitコマンドでの操作 • ブランチの作成 $ git branch ブランチ名 • 今のブランチを確認 $ git branch • ブランチの切り替え $ git checkout ブランチ名 • ブランチの作成+そのブランチに切り替え $ git checkout –b ブランチ名 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Gitコマンドでの操作 • clone $ git clone リポジトリURL • pull $ git pull origin pullしたいブランチ名 • push $ git push origin pushしたいブランチ名 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .
Gitコマンドでの操作 "origin"ってなに? →リモートリポジトリのURLを指している。 毎回打つのが面倒なので"origin"という略称で代用出来るようにデ フォルトでなっている。 下の2つは同じことを表している。 $ git pull origin master $ git pull [email protected]:ユーザ名/リポジトリ名.git master 127 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .