LoginSignup
139
139

More than 5 years have passed since last update.

git-flowを使った日々の開発フローのふりかえり

Posted at

知らず知らずのうちに、弊社内のsrcリポジトリの開発フローがgit-flowに沿ったものになっているようです。まだイマイチ理解できていないスタッフ向けに、ここで簡単におさらいし、一歩進んでリリースまでを復習してみようと思います(私は軟弱なのでSourceTreeを使います)。

詳しくGitを知りたい人は、まずはこちら。

こちらは弊社疋田のまとめ記事です。

git-flowの概要を知りたい方は、以下が参考になりました。基本的なGitの使い方が分かっていれば理解できると思います。

1. 初期化

git flow initに相当します。SourceTreeを使っていればgit-flowのワークフローの準備は簡単です。メニュー右上の「Git Flow」で、デフォルトのブランチ名のままOKすれば、git-flowで使われるブランチ群が作成されます。

Screen_Shot_2015-02-17_at_6_52_24_PM.jpg

2. 日々の開発作業

git flow feature ~に相当します。機能の開発を行うときは、developブランチから機能についてのfeatureブランチを作成して開発を進めます。SourceTreeから実施するには、以下の手順を踏みます。

対応開始

featureブランチを作成します(例としてfeature/feature_aを追加します)。

Screenshot_2_19_15__4_31_PM.jpg

対応中

作成したfeatureブランチに対して成果物をコミットしていきます。

対応完了

機能の実装、テストが完了したら、メニュー右上のGit FlowからFinish Currentを選択しdevelopブランチにマージします。rebaseするのか明示的にmergeコミットするのか、といった点はプロジェクトの方針に合わせてご自由に。

convert_kana__Git__and_Edit_-_Qiita.jpg

Screenshot_2_19_15__5_06_PM.jpg

完了したらdevelopブランチにマージされていることが確認できると思います。

3. リリース作業

git flow release ~に相当します。リリースに必要な機能の開発が進んだら、いよいよリリース準備をします。大まかな流れとしては、release/1.0.0のようなリリース準備用のブランチを作成し、リリース作業を行います。以下の記事がよくまとまっていました。

Git Flowによるリリース | Developers.IO

4. 緊急対応

git flow hotfix ~に相当します。リリース後に発生した不具合にへの対応など、緊急対応はhotfixブランチを作成して行います。具体的な例を以下に示します。

対応開始

メニュー右上のGit FlowからFinish Currentを選択し、hotfixブランチを作成します(例としてhotfix/0.1.1とします)。

対応中

作成したhotfixブランチhotfix/0.1.1に対してコミットしていきます。

対応完了

対応が完了したらメニュー右上のGit FlowからFinish Currentを選択し、リリース準備に入ります。ここでOKすると、hotfix/0.1.1がリリースされます。Tagに修正概要をメッセージとして残すと良いでしょう。

Screenshot_2_19_15__4_08_PM.jpg

具体的には、masterブランチとdevelopブランチにhotfix/0.1.1の修正内容がマージされ、masterブランチに、最初に入力したHotfix Versionのタグ0.1.1が打たれます。

convert_kana__Git__and_Git_Flowによるリリース_|_Developers_IO_and_SourceTree.jpg

これで修正対応のリリースは完了です。

その他参考

139
139
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
139
139