gitブランチ開発 #TechLunch

gitブランチ開発 #TechLunch

gitブランチ開発
2012/11/14 (水) @ Livesense TechLunch
発表者:塩足 拓也

E60aa4f80303f3f386898546ddb3686a?s=128

Livesense Inc.

April 21, 2014
Tweet

Transcript

  1. Haxe

  2. None
  3. gitブランチ開発 Takuya Shiotari

  4. gitを選ぶ理由 • 早い • ローカルリポジトリ • ブランチ運用/マージが楽

  5. みなさんどのようにブランチ開発してますか?

  6. A Successful Git branching model http://nvie.com/posts/a-successful-git-branching-model/

  7. A Successful Git branching model

  8. 中央リポジトリ 中央リポジトリとみなすoriginを用意する

  9. None
  10. メインブランチ ▪ 中央リポジトリにmasterとdevelop ▪ master ◦ リリースされている最新のソー スコード ▪ develop

    ◦ 開発用ブランチ ◦ 次のリリースのための最新の 開発作業の変更を常に反映す る
  11. サポートブランチ • featureブランチ • releaseブランチ • hotfixブランチ

  12. featureブランチ • 分岐元 :develop • マージ先:develop • 特定機能用ブランチ • 開発者のリポジトリにだけ存在する •

    マージされたら削除される
  13. releaseブランチ • 分岐元 :develop • マージ先:master,develop • リリースの準備をサポート • マイナーなバグフィックス •

    リリースしたらタグ付け
  14. hotfixブランチ • 分岐元 :master • マージ先:master,develop • クリティカルなバグ修正

  15. これどうやってやる?

  16. git-flow gitブランチモデルを実践するためのプラグイン

  17. git flow init $ git flow init No branches exist

    yet. Base branches must be created now. Branch name for production releases: [master] Branch name for "next release" development: [develop] How to name your supporting branch prefixes? Feature branches? [feature/] Release branches? [release/] Hotfix branches? [hotfix/] Support branches? [support/] Version tag prefix? [] 1
  18. git flow feature # featureブランチの開始 $ git flow feature start

    foo => 1. developからfeature/fooブランチの作成 2. feature/fooをチェックアウト # featureブランチの終了 $ git flow feature finish foo => 1. developにfeature/fooをマージ 2. feature/fooを削除
  19. git flow release # releaseブランチの開始 $ git flow release start

    0.0.1 => 1. developからrelease/0.0.1ブランチの作成 2. release/0.0.1をチェックアウト # releaseブランチの終了 $ git flow release finish 0.0.1 => 1. masterに--no-ffでrelease/0.0.1ブランチをマージ 2. マージしたコミットにタグを付ける 3. developに--no-ffでrelease/0.0.1ブランチをマージ
  20. git flow hotfix # hotfixブランチのスタート $ git flow hotfix start

    0.0.2 => 1. masterからhotfix/0.0.2ブランチを作成 2. hotfix/0.0.2をチェックアウト # hotfixブランチの終了 $ gig flow hotfix finish 0.0.2 => 1. masterに--no-ffでhotfix/0.0.2ブランチをマージ 2. マージしたコミットにタグを付ける 3. developに--no-ffでhotfix/0.0.2ブランチをマージ
  21. • Webアプリってタグ必要? • releaseブランチだけでよくない? git-daily

  22. gitのブランチ運用のルールを決めよう!