Chapter 4
Gitをバックアップに限定する設計

このChapterで定義するのは、
Gitの役割を意図的に限定するための設計ルールである。
Gitは強力なツールであるが、
使い方を誤ると、
-
判断の所在が曖昧になり
-
理由が分散し
-
調査時に迷子になる
本Wikiでは、
Gitを判断の正本にしないことを明確に定義する。
4-1. Gitを「履歴装置」にしてはいけない
多くの現場では、
Gitが次のように使われてしまう。
-
判断理由が commit message に書かれる
-
設計意図が差分の中に埋もれる
-
どの判断かを Git から読み取ろうとする
これは、
Gitに判断を持たせている状態である。
本Wikiでは、
この使い方を明確に禁止する。
4-2. Gitの正しい役割は「復元」である
Gitの役割は、
過去の状態に戻せることである。
-
差分を確認する
-
特定時点のコードを復元する
-
事故時にロールバックする
これ以上の役割を、
Gitに期待しない。
4-3. 判断は必ず Backlog に集約する
判断の正本は、
必ず Backlog に存在する。
-
なぜその判断をしたのか
-
どの要件・課題に対する判断か
-
どこまで影響するか
これらは、
Gitではなく Backlog に集約される。
Gitは、
その判断結果を保存しているだけである。
4-4. commit message に期待しない
commit message は、
検索性・表現・粒度にばらつきが出る。
-
書く人によって内容が変わる
-
書かれなくなる
-
形骸化する
本Wikiでは、
commit message を判断追跡の手段として扱わない。
判断を知りたい場合は、
コード内のタグから Backlog を参照する。
4-5. Gitを限定することで起きる良い変化
Gitの役割を限定すると、
-
判断の正本が迷わなくなる
-
調査時の参照先が即決まる
-
「Gitを読めば分かる」という幻想が消える
結果として、
-
調査が速くなり
-
引き継ぎが容易になり
-
責任の所在が明確になる
4-6. 実装者を守るための設計でもある
Gitに判断を書かせないことで、
-
後から説明を求められない
-
commit message の表現で責められない
-
過去判断を背負わなくて済む
判断したのは Backlog、
実装したのはコード。
役割が分離されているからこそ、
実装者も守られる。
まとめ
-
Gitは判断の正本ではない
-
Gitは復元・差分確認のための装置である
-
判断理由は Backlog に集約する
-
commit message に判断を期待しない
-
役割分離が、調査と責任追跡を速くする





