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

Más contenido relacionado

La actualidad más candente

ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
Yahoo!デベロッパーネットワーク
 

La actualidad más candente (20)

タブブラウザSDKを作った話 #yjcamp
タブブラウザSDKを作った話 #yjcampタブブラウザSDKを作った話 #yjcamp
タブブラウザSDKを作った話 #yjcamp
 
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
ヤフオク!の快適なカスタマー体験を支えるモバイルアプリのライブアップデート技術
 
Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理Bonfire API #1 APIのリトライ処理
Bonfire API #1 APIのリトライ処理
 
Serving Engine as a Service at Yahoo! JAPAN #SolrJP
Serving Engine as a Service at Yahoo! JAPAN #SolrJPServing Engine as a Service at Yahoo! JAPAN #SolrJP
Serving Engine as a Service at Yahoo! JAPAN #SolrJP
 
アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発アプリのプロダクトマネージャーからみるScrum開発
アプリのプロダクトマネージャーからみるScrum開発
 
ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩ニュースアプリで起きた不具合から学んだ 最適への一歩
ニュースアプリで起きた不具合から学んだ 最適への一歩
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化Yahoo!ブラウザーにおける市場環境の分析と戦略化
Yahoo!ブラウザーにおける市場環境の分析と戦略化
 
市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①市場で勝ち続けるための品質とテストの技術①
市場で勝ち続けるための品質とテストの技術①
 
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
 
YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望YJTC18 C-1 Kotlin導入の状況と展望
YJTC18 C-1 Kotlin導入の状況と展望
 
decode17
decode17decode17
decode17
 
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜[デブサミ2015] スクラムならうまくいく?〜グリーのネイティブゲーム作りの歴史をひもとく、そして未来へ〜
[デブサミ2015] スクラムならうまくいく? 〜グリーのネイティブゲーム作りの歴史をひもとく、 そして未来へ〜
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
 
[デブサミ秋2015] 新卒入社エンジニアが 2年間fluentdを運用して学んだ事いろいろ
[デブサミ秋2015] 新卒入社エンジニアが2年間fluentdを運用して学んだ事いろいろ[デブサミ秋2015] 新卒入社エンジニアが2年間fluentdを運用して学んだ事いろいろ
[デブサミ秋2015] 新卒入社エンジニアが 2年間fluentdを運用して学んだ事いろいろ
 
通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」通販開発部の西田さん「通販開発マネジメントの5ルール」
通販開発部の西田さん「通販開発マネジメントの5ルール」
 
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜QAエンジニアを通じて弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
QAエンジニアを通じて 弊社の開発環境がより良くなる日 〜 OpenSTF 編 〜
 
Cedec2015_「消滅都市」運用の一年
Cedec2015_「消滅都市」運用の一年Cedec2015_「消滅都市」運用の一年
Cedec2015_「消滅都市」運用の一年
 
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発JavaScript LT会 〜 React.js   Node.js歓迎 〜 Deno で やってみるweb開発
JavaScript LT会 〜 React.js Node.js歓迎 〜 Deno で やってみるweb開発
 
Kotlinではじめる Webアプリケーション入門
Kotlinではじめる Webアプリケーション入門Kotlinではじめる Webアプリケーション入門
Kotlinではじめる Webアプリケーション入門
 
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
2020年10月29日 プロフェッショナルAI×Roboticsエンジニアへのロードマップ
 

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

もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
Takashi Uemura
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo!デベロッパーネットワーク
 
20120324 git training
20120324 git training20120324 git training
20120324 git training
Takeshi AKIMA
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
kunimiya
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
賢次 海老原
 
Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用
CROOZ, inc.
 

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

GitHub Handson
GitHub HandsonGitHub Handson
GitHub Handson
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門
 
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
もしWordPressユーザーがGitを使ったら 〜WordPressテーマを共同編集しよう〜
 
Design pattern in presto source code
Design pattern in presto source codeDesign pattern in presto source code
Design pattern in presto source code
 
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdfGit_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
 
Shizudev git hub宿題
Shizudev git hub宿題Shizudev git hub宿題
Shizudev git hub宿題
 
Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序Nutanix エンジニアのための Git 入門 :序
Nutanix エンジニアのための Git 入門 :序
 
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれからYahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
 
今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版今さら聞けない人のためのGit超入門 OSC2018広島版
今さら聞けない人のためのGit超入門 OSC2018広島版
 
githubハンズオン
githubハンズオンgithubハンズオン
githubハンズオン
 
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみましたgitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編今さら聞けない人のためのGitLabの始め方 Ubuntu編
今さら聞けない人のためのGitLabの始め方 Ubuntu編
 
20120324 git training
20120324 git training20120324 git training
20120324 git training
 
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)
 
第1回Git勉強会
第1回Git勉強会第1回Git勉強会
第1回Git勉強会
 
Gitの紹介
Gitの紹介Gitの紹介
Gitの紹介
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用XPages開発におけるGit/GitHubの利用
XPages開発におけるGit/GitHubの利用
 
Git extensions ws外部公開用
Git extensions ws外部公開用Git extensions ws外部公開用
Git extensions ws外部公開用
 

Más de Yahoo!デベロッパーネットワーク

Más de Yahoo!デベロッパーネットワーク (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes Operator
 
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるか
 
オンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッション
 
LakeTahoe
LakeTahoeLakeTahoe
LakeTahoe
 
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
 
Persistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability FeaturePersistent-memory-native Database High-availability Feature
Persistent-memory-native Database High-availability Feature
 
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
データの価値を最大化させるためのデザイン~データビジュアライゼーションの方法~ #devsumi 17-E-2
 
eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 

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

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