YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Git @ NNCT programming workshop

Git & GitHubJune 15 2015

Yoshiharu Ikutani@ NNCT 勉強会

Page 2: Git @ NNCT programming workshop

Git & GitHub @NNCT 勉強会 2

“ 知ってるだけで役に立つことがあるなら

それは知っておくべきなんだ”

勉強会のモットー

Page 3: Git @ NNCT programming workshop

3

今日の目標Git の基本的な使い方を理解するGit を利用した最新の開発フローを理解

する

Git & GitHub @NNCT 勉強会

Page 4: Git @ NNCT programming workshop

4

アジェンダ1. Git の解説2. Git を実際に使ってみる( CUI )3. Git を使ったワークフロー

Git & GitHub @NNCT 勉強会

Page 5: Git @ NNCT programming workshop

5

そもそも Git とは?Git : 分散バージョン管理システム

中央リポジトリが存在しない分散管理方式

チェンジセットベースによるリビジョン管理

ブランチの作成とマージが高速 GitHub, BitBucket などのサービスが豊富

Git & GitHub @NNCT 勉強会

Page 6: Git @ NNCT programming workshop

6

Git の運用モデル

Git & GitHub @NNCT 勉強会

リモートリポジトリ

etc.

代表的なサービス

ローカルリポジトリ ローカルリポジトリ

開発ファイル群

2 種類のリポジトリ:ローカルとリモート

Page 7: Git @ NNCT programming workshop

7

Fork と Clone

Git & GitHub @NNCT 勉強会

リモートリポジトリ

ローカルリポジトリ ローカルリポジトリ

開発ファイル群

Clone : リモートリポジトリの内容をローカルにそっくりコピー

開発ファイル群

Clone

人気なプロジェクト

自分のアカウント

Fork

Page 8: Git @ NNCT programming workshop

8

Commit と Push ,そして Pull

Git & GitHub @NNCT 勉強会

リモートリポジトリ

ローカルリポジトリ ローカルリポジトリ

開発ファイル群

Commit : ローカルリポジトリに変更を登録Push : リモートリポジトリに変更を登録

Push

開発ファイル群 開発ファイル群

Pull

Page 9: Git @ NNCT programming workshop

9

Branch と Tag

Branch : 本流の開発とは分けて開発を管理Tag : 任意の時点の状況を保存

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

Tag

Branch

Page 10: Git @ NNCT programming workshop

10

アジェンダ1. Git の解説2. Git を実際に使ってみる( CUI )3. Git を使ったワークフロー

Git & GitHub @NNCT 勉強会

Page 11: Git @ NNCT programming workshop

11

Git を実際に使ってみるSlack にあるドキュメントを使います.

Git & GitHub @NNCT 勉強会

Page 12: Git @ NNCT programming workshop

12

アジェンダ1. Git の解説2. Git を実際に使ってみる( CUI )3. Git を使ったワークフロー

Git & GitHub @NNCT 勉強会

Page 13: Git @ NNCT programming workshop

13

ワークフローの主な 2 種類git-flow

ブランチ名にきっちりした規約.大規模向けgithub-flow

比較的シンプルで簡単.小規模向け

今回は github-flow を取り上げる

Git & GitHub @NNCT 勉強会

Page 14: Git @ NNCT programming workshop

14

github-flow の基本的約束ごとmaster のものはすべてリリース可能であるmaster は直接修正しないmaster にマージする前に必ずレビューmaster へマージしたらすぐ本番環境リリー

Git & GitHub @NNCT 勉強会

Page 15: Git @ NNCT programming workshop

15

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

master のものはすべてリリース可能であるmaster は直接修正しない

ver 1.0 はテスト済みかつ本番環境での動作確認済み

新しい機能を作るときは必ず Branch を作る

Page 16: Git @ NNCT programming workshop

16

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

master にマージする前に必ずレビュー

開発完了ブランチ内でテスト

Pull Request(レビュー要求)

レビュー&テスト

Page 17: Git @ NNCT programming workshop

17

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

master へマージしたらすぐ本番環境リリース

レビューが通ればmaster にマージ

ver 1.1

マージ後ブランチを削除

Page 18: Git @ NNCT programming workshop

18

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

master へマージしたらすぐ本番環境リリース

ver 1.1

function-Bファイルの

アップデートを要求

Page 19: Git @ NNCT programming workshop

19

開発者が覚えることmaster はリリース用だから直接触らない作業を始める前にブランチを切る作業が終了したら master に Pull Request

Git & GitHub @NNCT 勉強会

Page 20: Git @ NNCT programming workshop

20

Git まとめGit は分散バージョン管理システムBranch でトラブルの少ない開発が可能Git + 作業フローの利用で効率的に開発

Git & GitHub @NNCT 勉強会


Related Documents