About
git-flowはgitの拡張であり、Vincent Driessenの提唱するブランチモデルを実現するための高度なリポジトリ操作を提供します。 more
★ ★ ★
このチートシートは基本的な使い方とgit-flowの効果を表します。
★ ★ ★
Basic tips
- Git flow は素晴らしいコマンドライン補助と出力を提供します。何が起こるか注意深く読み解いてください。
- OSX Clientの Sourcetree は素晴らしいGUIとgit-flowサポートを提供します。
- - Git-flow はマージすることをベースとして考えるソリューションです。リベースは行いません。
★ ★ ★
Setup
- 前もってgitをインストールしておく必要があります。
- Git flow はOSX、Linux、Windowsで動作します。
★ ★ ★
OSX
$ brew install git-flow
Linux
$ apt-get install git-flow
Windows (Cygwin)
$ wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash
git-flowのインストールには、wgetとutil-linuxが必要です。
詳細なgit flowのインストール方法は以下のサイトを参考にしてください。 git flow wiki.
![install git-flow](img/download.png)
Getting started
Git flowを開始するには 既存のプロジェクトをカスタマイズする必要があります。
★ ★ ★
Initialize
通常のgitリポジトリ配下に移動した後、下記のコマンドでgit-flow用に初期化します。
git flow init
コマンドのあと対話形式で、いくつかの質問に答えます。 大体は、デフォルトの値が推奨されます。
Features
- 機能追加のための開発。
- Typically exist in developers repos only
★ ★ ★
Start a new feature
開発用ブランチは 'develop' ブランチから開始します。開始方法は、
git flow feature start MYFEATURE
新たな開発用ブランチを'develop'ブランチをベースとして作成し、開発用ブランチにスイッチします。
Finish up a feature
開発が終了したら、以下の操作を行います。
- MYFEATUREブランチを'develop'にマージします。
- 開発用ブランチを削除します。
- そして、'develop'ブランチにスイッチをします。
git flow feature finish MYFEATURE
Publish a feature
複数人と同じ機能を開発していたら?
自分の変更分をリモートサーバにマージします。
git flow feature publish MYFEATURE
Getting a published feature
他の人の開発分を自分のローカルにマージします。
git flow feature pull MYFEATURE
Make a release
- リリースのための準備を行います
- 軽微なバグフィックスを行ったり、リリースのため設定の登録を行います
★ ★ ★
Start a release
リリース作業を開始するには、git flowのreleaseコマンドを使います
'develop'ブランチから'release'ブランチをを作成しますgit flow release start RELEASE [BASE]
[BASE]
はオプションで 'develop'ブランチの特定のCommitのハッシュ値を指定します。指定がない場合はHEADが使われます。
★ ★ ★
'release'ブランチ作成後に修正をPublishするには、'feature'の時と似たコマンドを使用します:
git flow release publish RELEASE
('release'リポジトリの修正のトラッキングをすることもできますgit flow release track RELEASE
)
Finish up a release
リリース作業の終了処理は、gitのブランチを扱う上で大きなアクションがあります:
- 'release'ブランチを'master'にマージします
- 'master'ブランチにリリース用のタグをつけます
- 'develop'ブランチに'release'ブランチの内容がマージされます
- 'release'ブランチが削除されます
git flow release finish RELEASE
Hotfixes
- Hotfixesはすぐに適用しなければいけないようような、緊急の場合に使用します
- May be branched off from the corresponding tag on the master branch that marks the production version.
★ ★ ★
git flow hotfix start
他のgit flowコマンドと似た形で、hotfixを開始します
git flow hotfix start VERSION [BASENAME]
バージョンの引数は、ホットフィックスリリース名を指定します。 オプションとして開始するベースを指定出来ます。
Finish a hotfix
hotfixの終了作業は、'develop'と'master'のブランチをマージします。加えて、'master'ブランチはhotfixのバージョンでタグが付けられます。
git flow hotfix finish VERSION
Backlog
★ ★ ★
- 使用するコマンドがすべてをカバーしているわけではなく、重要なものだけカバーしています。
- もちろん、gitのコマンドは通常通りすべて使用することができます。git flowは単にgitのコマンドの集合です。
- 'support'ブランチの機能はまだベータ版です。それについては言及できません。
- もし翻訳して頂けるなら、統合してもらえると幸いです。
★ ★ ★