[Git] Gitflow でブランチを華麗にさばきたいを SourceTree で実現する

Git ブランチの管理・運用モデルを学ぶ。

日にちを空けてしまったので、いろいろ抜けてしまいました。
すぐに書かないとダメですね。

Gitflow

最近、ブランチ管理がいい加減でダメだなと思ったリポジトリがあり、Gitflow があったなと思い出しました。

ブランチをさばくためのルールがあるのですが、Git に入門したてで理解して手動でさばける自信が無かったのでパスしてました。
下記の gitflow コマンドで補助はしてくれるようなのですが、なかなかハードルが高い。

SourceTree の Gitflow 機能を利用する

ブランチの命名だけでも揃えようとしたところ、SorceTree の表示が変わるじゃないですか。
ブランチ名を feature/1 と変更すると、SourceTree 上で分かりやすくまとめられて表示されます。

2015-04-07_gitflow_01

よくよく確認すると補助機能があります。

ということで、確認してみました。

導入

プロジェクトの init です。
いままで使っていませんでしたが、そもそもでっかい Git Flow アイコンがありました。

2015-04-07_gitflow_02

アイコンをクリックすると、ブランチの命名ルールがモデルの通りに自動設定されています。
そのまま OK します。

2015-04-07_gitflow_03

既にあるリポジトリにも適用でき、リポジトリ自体の変更、影響はないようです。

ブランチの作成

Git Flow アイコンをクリックすると、ブランチの作成ダイアログが表示されます。

2015-04-07_gitflow_04

リリースブランチ選び、名前などを入力していくとモデルに沿ったブランチ操作を自動で行ってくれます。

2015-04-07_gitflow_05

Git Flow アイコンのクリックは、今現在のブランチやレポジトリの状況に応じて、よしなに計らってくれるようです。

ブランチのマージ

手動でモデルに従う場合、feature は develop にマージ、develop は release に、release から master といった具合に、気を遣うところがあります。
が、SourceTree 上のブランチを右クリックすると、モデルに沿ったブランチさばきをしてくれました。

2015-04-07_gitflow_06

SourceTree の補助があれば、何も考えずとも利用できそうですね。

Tips

Gitflow を意識してから、利用頻度が高くなった git tips。

merge –no-ff

$ git merge --no-ff myfeature

以下で merge のデフォルトの振る舞いを –no-ff にできる。

% git config --global merge.ff false

SourceTree をつかえばいらないのかも。
弊害もあるので確認する。

branch(clone)

stash

diff

checkout(merge)

復習:ワークフローモデル

GitHub flow