はじめに
コマンドラインからgit flowを使って開発をしたときにコマンドや手順を調べるのが面倒だったのでまとめます。
個人開発なので、複数人での開発とは違う部分もあるかと思います。
間違い等ありましたらご指摘お願いします。
git flow のインストール
yum install git-flow
でインストールできるというのを見かけたのですが、できないっぽいので他のやり方でインストールします。
$ cd /usr/local/src
$ sudo bash
$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
$ exit
git flowの初期化
管理したいリポジトリで下記コマンド実行。
$ git flow init
# いろいろでてくるけどとりあえず全部EnterでOK
ちなみに-d
オプションを付けると自動で初期設定をしてくれます。
リモートリポジトリがあるなら初期化した後git push --all
してもいいかも。
開発手順
featureブランチ
developブランチからfeatureブランチを切って機能の追加を行います。
$ git flow feature start hogehoge
これでfeature/hogehogeブランチが作成され、チェックアウトされます。
作業が終わったら
$ git add .
$ git commit -m "hoge"
$ git flow feature finish hogehoge
でdevelopブランチにマージされてfeature/hogehogeブランチは削除されます。
developブランチにマージされた後、developブランチをpushします。
releaseブランチ
リリース作業をする際は、developブランチからreleaseブランチを切ります。
$ git flow release start v1.0
リリース作業が終わったら
$ git add .
$ git commit -m "hogehoge"
$ git flow release finish v1.0
を実行すると、masterブランチとdevelopブランチにマージして、masterブランチにタグをつけてくれます。
タグはreleaseブランチの名前が付くようです。
また、releaseブランチは削除されます。
この作業が終わったらgit push --all
ですべてリモートリポジトリにあげます。
hotfixブランチ
緊急性の高いバグなどを修正する際に利用します。
master ブランチからhotfixブランチを切ります。
$ git flow hotfix start v1.1
作業が終わったら
$ git add .
$ git commit -m "hogehoge"
$ git flow hotfix finish v1.1
でmasterとdevelopブランチにマージされて、masterブランチにタグが付きます。
余談
Cmderを利用しているのですがreleaseブランチを終了させて、masterブランチにマージする際のコメント記入を何もしないで:wqとすると画面がバグります。
少し書き換えればバグらずに済むのですが、ちょっとめんどうなのでどうにかして直したいですね…
2019年3月10日追記:上記のバグはCmderを一度削除し、再度ダウンロードしたところ直りました。
参考
コマンドラインで Git Flow をインストールして使ってみる
git-flow を試す
git-flow cheatsheet
git-flow コマンド説明和訳
さいごに
個人的に便利なツールだと思います。
この記事には載っていないコマンドもあり、理解するにはまだ勉強が足りないようです。