Yahoo! JAPAN MEETUP #21~Gitを使ったチーム開発体験@名古屋~

139 Views

February 26, 18

スライド概要

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

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 .

2.

第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.

こういう経験していませんか? よーし、先週開発してたアプリの続きをやる ぞ〜 ・・・ あれ?このコードってなんで追加したんだっ け? 3 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

4.

こういう経験していませんか? ここの機能の開発、出来たよ! ソースコードをメールに添付して送るから取り込んでね。 ありがとう!じゃこのファイルをコピペして・・・ わ!自分が作ってた部分が上書きされちゃった! 4 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

5.

こういう経験していませんか? ここの機能の開発、出来たよ! ソースコードをメールに添付して送るから取り込んでね。 GitとGitHubを使って 解決しましょう! ありがとう!じゃこのファイルをコピペして・・・ わ!自分が作ってた部分が上書きされちゃった! 5 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

6.

今日のワークショップのゴール チーム開発のための 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.

バージョン管理って? ファイルの変更を記録しておくシステム 「誰が」「どのファイルを」「どう変更したか」 がわかる 7 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

8.

バージョン管理って? ファイルの変更を記録する場所 ↓ リポジトリ APIサーバ リポジトリ iPhoneアプリ リポジトリ 8 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved . ○○ライブラリ リポジトリ

9.

バージョン管理って? リポジトリ内でのバージョン管理 過去の状態 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 山田さんが 本文を変更

10.

バージョン管理の嬉しいところ 過去の状態との差分がわかる 差分 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 山田さんが 本文を変更

11.

バージョン管理の嬉しいところ 過去の状態に戻せる 過去の状態を最新として扱う 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 山田さんが 本文を変更

12.

バージョン管理と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 .

13.

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 .

14.

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 .

15.

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 .

16.

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 .

17.

SourceTreeのインストール ライセンスに同意にチェック 17 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

18.

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 .

19.

SourceTreeのインストール 19 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

20.

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 .

21.

もしこの画面が出たら Gitが見つかりませんでした 21 Co p yrig ht © 2 0 1 7 Mercurialが見つかりませんでした Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

22.

GitHubの設定 GitHub用に下記の作業を進めます • アカウント作成 • リポジトリの作成 22 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

23.

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 .

24.

GitHubの設定(アカウントの作成) 24 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

25.

リポジトリを作りましょう 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 .

26.

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 .

27.

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 .

28.

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.

休憩 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

30.

第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

31.

この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

32.

この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

33.

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 .

34.

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 .

35.

この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

36.

ファイルを修正してGitで扱う ファイルの変更をローカルリポジトリに 登録するには2つのステップが必要です ファイルを変更したよ! ローカルリポジトリ 36 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

37.

ファイルを修正して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 .

38.

ファイルを修正して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 .

39.

ファイルを修正して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 .

40.

ファイルを修正して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 .

41.

この部でやりたいこと • GitHub→自分のPCに持ってくる • ファイルを追加・修正する • GitHubに反映する Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

42.

自分の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 .

43.

第2部の課題ワーク SourceTreeを使って 一連の流れをやってみましょう! 43 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

44.

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 .

45.

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 .

46.

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 .

47.

cloneをSourceTreeでやってみよう 上記の設定をおまけでやっておきましょう 47 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

48.

ローカルリポジトリを確認しよう エクスプローラ/Finderで 先ほどのパスを開いてみましょう この開いたフォルダ =ローカルリポジトリ 48 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

49.

ファイルを追加しましょう テキストファイルをメモ帳やテキストエディタで作成します • ファイル名は「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 .

50.

ファイルを修正して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 .

51.

ステージングに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 .

52.

ステージングにaddしよう • チェックボックスをチェック • ファイルを上にドラッグ&ドロップ のどちらかでステージングへadd 52 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

53.

ステージングにaddしよう ファイルがステージングにaddされた 53 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

54.

ステージングにaddしよう ファイルの差分が表示されている 54 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

55.

ファイルを修正して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 .

56.

ローカルリポジトリにcommitしよう 「コミット」をクリック 56 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

57.

ローカルリポジトリにcommitしよう commitコメントを入力してコミット 57 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

58.

ローカルリポジトリにcommitしよう ステージングからローカルリポジトリに commitされたのでなくなった 58 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

59.

自分の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 .

60.

リモートリポジトリにpushしよう 「プッシュ」をクリック 60 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

61.

リモートリポジトリに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 .

62.

GitHubに反映されていることを確認 62 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

63.

作業ワークのやることリスト • リモートリポジトリからローカルリポジトリに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 .

64.

第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.

休憩 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

66.

第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

67.

この部でやりたいこと 1つのリモートリポジトリに対して2人がそれ ぞれ作業出来る Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

68.

第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 .

69.

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 .

70.

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 .

71.

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 .

72.

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 .

73.

ブランチについて 最新の状態 大元のブランチ →masterブランチ 73 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

74.

ブランチについて 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.

ブランチについて それぞれの変更をコミット 75 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

76.

ブランチについて masterブランチに反映 →マージ 76 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

77.

マージをするには? 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.

ブランチの作成方法 「ブランチ」をクリック 78 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

79.

ブランチの作成方法 ブランチ名はGitHubアカウントとします 79 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

80.

ブランチの作成方法 左メニューの「ブランチ」に項目が増えています ○が付いているのが現在のブランチ ブランチ名をダブルクリックすると切り替えられます 80 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

81.

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 .

82.

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 .

83.

Pull Requestの作成方法 83 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

84.

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 .

85.

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 .

86.

Pull Requestの作成方法 86 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

87.

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 .

88.

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 .

89.

マージ分をローカルに反映する 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

90.

マージ分をローカルに反映する ローカルリポジトリの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

91.

マージ分をローカルに反映する masterブランチに切り替え 91 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

92.

マージ分をローカルに反映する 「プル」をクリック 92 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

93.

マージ分をローカルに反映する ブランチを作成して マージしている 93 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

94.

第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 .

95.

前準備(演習用ソースコードのコピー) 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 .

96.

Forkの方法 96 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

97.

前準備(Collaboratorsに登録) 97 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

98.

前準備(Collaboratorsに登録) 98 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

99.

前準備(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.

確認 サポーターが確認します 100 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

101.

ペアで作業してみよう その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 .

102.

ペアで作業してみよう その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 .

103.

ペアで作業してみよう その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 .

104.

ペアで作業してみよう その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 .

105.

ペアで作業してみよう その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 .

106.

ペアで作業してみよう その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 .

107.

ペアで作業してみよう その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 .

108.

ペアで作業してみよう その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 .

109.

ペアで作業してみよう その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 .

110.

ペアで作業してみよう その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.

コンフリクト 111 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

112.

コンフリクトの解消 後のコミット 先のコミット 112 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

113.

コンフリクトの解消 113 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

114.

コンフリクトの解消 114 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

115.

マージが可能に マージします 115 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

116.

masterブランチの確認 116 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

117.

第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.

おわりに 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

119.

ローカルリポジトリでの作業 • ファイルの変更は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 .

120.

ローカルとリモートのやりとり 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 .

121.

ブランチについて 作業用ブランチ 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 .

122.

まとめ GitとGitHubにはこれ以外にも便利な機能があります。 が、コマンドや機能を覚えるのはあとからでも出来ます。 まずは基本的な仕組みをしっかりおさえて 今後の開発で使っていきましょう! 122 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .

123.

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

124.

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 .

125.

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 .

126.

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 .

127.

Gitコマンドでの操作 "origin"ってなに? →リモートリポジトリのURLを指している。 毎回打つのが面倒なので"origin"という略称で代用出来るようにデ フォルトでなっている。 下の2つは同じことを表している。 $ git pull origin master $ git pull git@github.com:ユーザ名/リポジトリ名.git master 127 Co p yrig ht © 2 0 1 7 Yaho o Jap an Co rp o ratio n. All Rig hts Reserved .