Mistilteinn(ミストルティン)は、チケット管理システムとgitを組合せた開発をサポートするツールです。 既存のGitフロンドエンドと異なり、Gitを意識せせずに使えることを目標としています。
Mistilteinnでは下記のような開発スタイルをサポートします。
- チケットごとにトピック・ブランチを作成する。
- コミットにはチケット番号への参照を追記する。
- トピックブランチでは頻繁にコミットを行ない、masterブランチに移動させる前に整理する。
Gitを開発のバックエンドに据えた、開発の新しい形、それがMistilteinnです。
Mistilteinnを用いた開発プロセスは次のようになります。 なお、詳細な手順については、各IDE用の節を参照してください。
一覧から作業するチケットを選びます。
チケットリストのソースとしては、
- ローカルファイル
- Redmine
- GithubのIssue
に対応しています。
チケットを選択すると、 id/<チケット番号> という名前のトピックブランチが作成されます。チケットに関する作業はすべてこのブランチで行ないます。
トピックブランチでファイルの保存をするたびに、nowコミットとよばれる一時的なコミットが作成されます。
なお、nowコミットのログメッセージは、 “[from now] 2012/02/18 23:08:32” のように [from now] で始まります。
nowコミットは一時的なもので、最終的にはまとめあげる必要があります。 このタイミングが従来のコミットと同程度の粒度となりますが、 Mistilteinnではこれをコミットと呼ばず、fixup(フィックスアップ)と呼びます。
通常、開発者はnowコミットを意識する必要はなく、何かしらひと段落した段階でフィックスアップするだけで十分です。
トピックブランチ上で開発が完了した場合、変更をmasterブランチに移動させる必要があります。 Mistilteinnではこの作業をmasterize(マスタライズ)と呼んでおり、以下の処理を実行します。
- トピックブランチをmasterブランチにrebase
- masterブランチをチェックアウト
- masterブランチを先ほどまでのトピックブランチに移動
- トピックブランチを削除