A successful Git branching modelのコマンド

  • 8
    Like
  • 0
    Comment
More than 1 year has passed since last update.

A successful Git branching modelとは

各ブランチについて

  • master
    リリース可能な状態を反映するブランチ。
    ブランチ名:master
    タグをつける。
  • develop
    開発用のメインブランチ。
    ブランチ名:develop
    masterブランチから作成する。
  • feature
    新機能を実装するためのブランチ。
    ブランチ名:master, develop, release-* , hotfix-* 以外
    developブランチから開発者のレポジトリのみに作成。
    修正完了後、developブランチへマージし、削除。
  • release
    リリースを準備するためのブランチ。
    ブランチ名:release-*
    developブランチから開発者のレポジトリのみに作成。
    修正完了後、developブランチとmasterブランチへマージし、削除。
  • hotfix
    バグを修正するためのブランチ。
    ブランチ名:hotfix-*
    masterブランチから開発者のレポジトリのみに作成。
    修正完了後、developブランチとmasterブランチへマージし、削除。

共有レポジトリ作成

$ cd xxx
$ mkdir project.git
$ cd project.git
$ git init --bare --shared

レポジトリ作成、共有レポジトリへpush

$ cd project
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin ssh://user@server:port/xxx/project.git
$ git push origin master

共有レポジトリからclone

$ cd xxx
$ git clone ssh://user@server:port/xxx/project.git

初期設定

$ git config user.name [あなたの名前]
$ git config user.email [あなたのメールアドレス]

developブランチ作成(masterブランチから)

$ git checkout -b develop master
$ git push origin develop

featureブランチ作成(developブランチから)

$ git checkout -b feature develop

featureブランチマージ(developブランチへ)

$ git checkout develop
$ git merge --no-ff feature
$ git push origin develop
$ git branch -d feature

releaseブランチ作成(developブランチから)

$ git checkout -b release develop

releaseブランチマージ(developブランチへ)

$ git checkout develop
$ git merge --no-ff release
$ git push origin develop

releaseブランチマージ(masterブランチへ)

$ git checkout master
$ git merge --no-ff release
$ git push origin master
$ git tag -a 1.0 -m 'version1.0 release'
$ git push --tags
$ git branch -d release

hotfixブランチ作成

$ git checkout -b hotfix master

hotfixブランチマージ(developブランチへ)

$ git checkout develop
$ git merge --no-ff hotfix
$ git push origin develop

hotfixブランチマージ(masterブランチへ)

$ git checkout master
$ git merge --no-ff hotfix
$ git push origin master
$ git tag -a 1.1 -m 'version1.1 release'
$ git push --tags
$ git branch -d hotfix