git @ nnct programming workshop
Post on 17-Aug-2015
85 Views
Preview:
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