ログ日記

作業ログと日記とメモ

Web開発時のGitでのゆるいワークフロー

Gitで何か低レベルの高度な操作が必要だっていうときは、大抵の場合は作業は一つのブランチでしかしない症候群にかかっている。
Gitはブランチやマージが軽いので、作業中のブランチを次々作っても上手い具合にマージしてくれる。



masterが本番、developがテストサーバー
この辺はreleaseでもstagingでも何でも良い。

一人開発でも効果ある。


masterからissue-1ブランチを切る
issue-1でcommit => developにマージ => テストサーバーで確認 => ちょっとここ直して〜
issue-1でcommit => developにマージ => テストサーバーで確認 => ちょっとここ直して〜
issue-1でcommit => developにマージ => テストサーバーで確認 => 確認中...時間がかかりそう
暇なのでmasterからissue-2ブランチを切る
(※ issue-1 を残したまま masterからissue-2 を作る。issue-1 の中で、あるいはdevelopから派生して別の作業をしてしまうと後で面倒なことになる。)
issue-2でcommit => developにマージ => テストサーバーで確認 => ちょっとここ直して〜
issue-2でcommit => developにマージ => テストサーバーで確認 => OK、本番に反映して〜
masterにissue-2をマージ => 本番反映
issue-1 はあとここだけ直して〜
issue-1でcommit => developにマージ => テストサーバーで確認 => OK、本番に反映して〜
masterにissue-1をマージ => 本番反映
masterとdevelopの差異が無い場合は適度にmasterにdevelopをマージ、developにmasterをマージ(単に履歴のグラフ表示を見やすくするため)



ちなみにPHPなので、デザイナーがサーバーに直接画像をアップしたりHTMLを書き換えたりすることもある。
その場合は適当なタイミングでテストサーバーあるいは本番サーバー上で直接commit => push する。
次回pullせずに気付かずにpushしても弾かれるので特に問題は起きない。