Git @ NNCT programming workshop

Post on 17-Aug-2015

79 Views

Category:

Engineering

0 Downloads

Preview:

Click to see full reader

Transcript

Git & GitHubJune 15 2015

Yoshiharu Ikutani@ NNCT 勉強会

Git & GitHub @NNCT 勉強会 2

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

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

勉強会のモットー

3

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

する

Git & GitHub @NNCT 勉強会

4

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

Git & GitHub @NNCT 勉強会

5

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

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

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

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

Git & GitHub @NNCT 勉強会

6

Git の運用モデル

Git & GitHub @NNCT 勉強会

リモートリポジトリ

etc.

代表的なサービス

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

開発ファイル群

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

7

Fork と Clone

Git & GitHub @NNCT 勉強会

リモートリポジトリ

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

開発ファイル群

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

開発ファイル群

Clone

人気なプロジェクト

自分のアカウント

Fork

8

Commit と Push ,そして Pull

Git & GitHub @NNCT 勉強会

リモートリポジトリ

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

開発ファイル群

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

Push

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

Pull

9

Branch と Tag

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

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

Tag

Branch

10

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

Git & GitHub @NNCT 勉強会

11

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

Git & GitHub @NNCT 勉強会

12

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

Git & GitHub @NNCT 勉強会

13

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

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

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

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

Git & GitHub @NNCT 勉強会

14

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

Git & GitHub @NNCT 勉強会

15

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

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

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

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

16

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

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

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

Pull Request(レビュー要求)

レビュー&テスト

17

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

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

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

ver 1.1

マージ後ブランチを削除

18

開発ケースの例

Git & GitHub @NNCT 勉強会

master

function-A

ver 1.0

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

ver 1.1

function-Bファイルの

アップデートを要求

19

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

Git & GitHub @NNCT 勉強会

20

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

Git & GitHub @NNCT 勉強会

top related