2019/7/20 Ver.1.0
Hirotaka Ichimura
1
バージョン管理ツール
Gitの使い方
 Gitとは
 SourceTree
 GitHub
 Gitでの作業の流れ
 リポジトリ
 コミット
2
アジェンダ
 origin/master
 .gitignore
 ブランチ
 マージ
 コンフリクト
 フェッチ
自己紹介
3
名前:市村 洋隆
職業:職業訓練校 講師
Web業界歴:16年
マークアップエンジニア
この画像が著作権で怒られないか心配
4
今日の目的
5
00
6
Gitを使った
作業の流れを覚えよう
Gitとは
7
01
8
Gitはバージョン管理ツールの一つ
01 Gitとは
現在のIT系サイトの制作は
複数人で行うことが普通
9
 作業したファイルの別名が山ほどできる
 クライアントからの手戻り指示
 メンバーが遠隔地で作業しているときの
やりとり
今までの開発の問題点
01 Gitとは
10
これら問題を
解決するために生まれたのが
バージョン管理ツール
01 Gitとは
11
AさんのPC BさんのPC
ホスティング
サービス
(リモートリポジトリ)
ローカル
リポジトリ
ローカル
リポジトリ
01 Gitとは
Gitを使った
作業の関係図
12
 PhotoShopなどの大容量のファイル
はNG
 CMSのような小さなファイルの集合
体もNG
Gitを使うときの注意点
01 Gitとは
13
Gitを使うことで
従来より効率的な開発が
期待できます
01 Gitとは
SourceTree
14
02
15
02 SourceTree
Gitを使うにはGitコマンド(命令)を
覚える必要があり
人によっては難しいと感じる
最初はGUIで管理できる
SourceTreeの方が敷居が低い
16
 Atlassianのアカウントを取得
 https://www.atlassian.com/ja/software/sou
rcetreeにアクセス
 自分のOSに合わせたインストーラーをDL
 指示に従いながらインストール
導入方法
02 SourceTree
17
02 SourceTree
 元からGitを使っている人はそれを選択
できる
 Macには最初からGitがインストールさ
れている
補足
18
最初はSourceTreeを使って
バージョン管理をしていこう
02 SourceTree
GitHub
19
03
20
ホスティングサービスの一つ
開発したデータを
置いておく場所
03 GitHub
21
GitHubは非公開の場所を
ユーザ無制限で使える
03 GitHub
プライベートリポジトリを
複数人で使うには招待が必要
22
 https://github.co.jp/でアカウントの作成
 作成したアカウントでGitHubにログイン
 リモートリポジトリの作成
導入方法
03 GitHub
23
GitHubのアカウントも
作っておく必要があります
03 GitHub
Gitでの作業の流れ
24
04
25
Git(SourceTree)を使って
実際に開発作業を行う流れを
ざっくりと説明
04 Gitでの作業の流れ
26
 GitHubにログイン
 リモートリポジトリの作成
 SourcetreeでCloneを選ぶ
 リモートリポジトリのURLを指定
 Clone開始
1.環境構築
04 Gitでの作業の流れ
27
 Cloneした場所を使ってエディタで作業
 SourceTreeでコミット
 ローカルリポジトリからリモートリポジトリへ
プッシュ
 プッシュが成功したら、リモートリポジトリを確認
2.制作作業
04 Gitでの作業の流れ
28
 先ほど同様に環境を構築しておく
 SourceTreeからプルを実行
 プルが成功したら作業開始
 作業が終わったらコミット
 コミット成功したらプッシュ
3.別PC,ユーザの作業
04 Gitでの作業の流れ
29
コミット、プッシュ、プルが
分かるだけで基本の作業は可能
04 Gitでの作業の流れ
リポジトリ
30
05
31
05リポジトリ
ここからはGitを使った作業で
聞き慣れない言葉が出てくるので
これらを説明
32
05リポジトリ
Gitを使ってデータを管理する場所
 ローカルリポジトリ
自分が作業するPCに作るリポジトリ
 リモートリポジトリ
ホスティングサービスにデータを置く場所
リポジトリとは
33
AさんのPC BさんのPC
ホスティング
サービス
(リモートリポジトリ)
ローカル
リポジトリ
ローカル
リポジトリ
05リポジトリ
コミット
34
06
35
 作業した内容をリポジトリに記録するた
めに必要な作業
 コミットすると過去の作業内容がリビ
ジョン(履歴)として残る
06 コミット
コミットとは#1
36
AさんのPC BさんのPC
ホスティング
サービス
(リモートリポジトリ)
ローカル
リポジトリ
ローカル
リポジトリ
06 コミット
37
 コミットするときにはどんな作業を行った
か具体的な文章として記述する
 コミットするためには作業したファイルの
内必要なものをステージに移動する
06 コミット
コミットとは#2
ブランチ
38
07
39
コミットしたリビジョンを
意図的に枝(ブランチ)分かれさせて
管理する方法
07 ブランチ
UIなどデザイン面で複数パターン
を提出するときなどに活躍
40
ブランチした流れはそのまま独立する
ほかの作業と平行して作業することが可能
07 ブランチ
ブランチ
ブランチ
origin/master
41
08
42
リモートリポジトリの場所(URL)の別名
クローン時に勝手に作られる
08 origin/master
origin
ホスティングサービスは、プロジェクトごとに
たくさんのリポジトリが作られるので、それがどれか示
すために必要
43
08 origin/master
master
リモートリポジトリのブランチの名前
ブランチは自分で名前をつけられるが
一番最初の流れ(履歴・リビジョン)には名前がないので
masterが設定される
マージ
44
09
45
09 マージ
ブランチとして分かれた別々の流れを
まとめること
マージ
46
09 マージ
決めきれないレイアウトパターンが
確定したときに
ブランチは不要となるので
マージして一本化する
コンフリクト
47
10
48
別々な人が同じファイルの同じ箇所を
修正したために流れを
まとめることができなくなる状況
10 コンフリクト
競合とか衝突とか
呼ばれる
49
AさんのPC BさんのPC
ホスティング
サービス
(リモートリポジトリ)
ローカル
リポジトリ
ローカル
リポジトリ
10 コンフリクト
プッシュも
プルも不可
50
コンフリクトしたファイルは
その箇所が分かるように
書き換えられるので
エディタからコンフリクト
しないように書き直す
10 コンフリクト
51
書き直す人は
コンフリクトした時点で
作業していた人が行う
10 コンフリクト
修正する方法は
決まっていないので
ルールを決めておくこと
フェッチ
52
11
53
リモートリポジトリから
ただデータを取得するときは
フェッチを使う
11 フェッチ
54
プルはフェッチしたあとの
マージの作業もセットになっている
11 フェッチ
プルとフェッチは
厳密に役割が違うので
作業に合わせて使い分ける
その他
55
Ex
56
 https://git-scm.com/
 https://www.atlassian.com/ja/software/sourcet
ree
 https://proengineer.internous.co.jp/content/colu
mnfeature/6983
 https://github.co.jp/
 https://backlog.com/ja/git-tutorial/
参考
57
以上!!

Gitの使い方