連載
» 2014年01月06日 18時00分 公開

図とコマンドで分かる! git-flowによる開発の流れと使い方Gitブランチを使いこなすgit-flow/GitHub Flow入門(3)(2/2 ページ)

[岡本隆史,@IT]
前のページへ 1|2       

【4】コミットのプッシュ

 通常のGitの利用と同じで、コミット内容を共有リポジトリへ送るにはプッシュします。

$ git push


【5】コミットの取り込み

 先に紹介した「【3】ブランチの取得」の既にブランチを取り込んでいる場合と同様にして、共有リポジトリ上の変更をローカルリポジトリへ取り込みます。

$ git flow {ブランチ種別} pull origin

$ git flow {ブランチ種別} rebase


【6】ブランチの作業を終了

 ブランチの作業を終了すると、ブランチでのコミット内容は関連するブランチへマージされます。ブランチの作業を終了するときは、ブランチのコードに対して、テストを実行し、正しく動作していることを確認してからマージするとよいです。

$ git flow {ブランチ種別} finish {ブランチ名}


 例えば、featureブランチの場合は次のようになります。

$ git flow feature finish myfeat

Switched to branch 'develop'

Updating 79ac9e8..9797178

Fast-forward

test.txt | 1 +

1 file changed, 1 insertion(+)

Deleted branch feature/myfeat (was 9797178).

Summary of actions:

- The feature branch 'feature/myfeat' was merged into 'develop'

- Feature branch 'feature/myfeat' has been removed

- You are now on branch 'develop'


 ブランチ終了後、終了したfeatureブランチは削除され、カレントブランチがdevelopブランチへ変更されます。

$ git branch

* develop

master


 カレントブランチが変更されるため、developブランチ以外のブランチで作業している場合は、注意してください。

 ブランチを終了した場合のマージ先は、連載第1回の「いまさら聞けない、成功するブランチモデルとgit-flowの基礎知識」で紹介した通り、ブランチ種別により異なります。

featureブランチを終了する場合

 featureブランチを終了する場合、図5のようにブランチのコミット内容はdevelopブランチへマージされます。

図5 featureブランチを終了する場合

releaseブランチを終了する場合

 releaseブランチを終了する場合は、featureの代わりにreleaseを指定します。

$ git flow release finish v1.0


 releaseブランチでは、ブランチを終了すると、リリースソースコードを管理するmasterブランチへマージされ、ブランチ名がタグとして付与されます。

図6 releaseブランチを終了する場合

hotfixブランチを終了する場合

 hotfixブランチを終了する場合は、hotfixを指定します。

$ git flow hotfix finish v1.0.1


 hotfixブランチの作業内容、緊急リリースとして、masterブランチへマージされタグが付与されます。また、開発中のdevelopブランチにも修正内容がマージされます。

図7 hotfixブランチを終了する場合

次回は、GitHub Flowについて

 git-flowでの作業の流れを紹介してきました。git-flowはよく考えられており、厳格なブランチの管理が可能ですが、人によっては、ごちゃごちゃし過ぎて難しいと思われるかもしれません。

 次回は、git-flowより簡単に運用できるGitHub Flowを紹介します。お楽しみに。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。