Git 版控
同一處被改了兩次
衝突不是工具壞了。它是兩個人改了同一處,電腦不敢替你們決定哪一句才算。
同一處,才需要人
一個人改退貨天數,另一個人改按鈕顏色,兩件事通常合得起來。兩個人都改了「空白單號時要做什麼」,這一處就有兩句話。工具可以把兩句都攤開來,但它不知道你們跟客戶講好的是哪一句。
所以衝突是一個產品問題,碰巧由工具提起。誰比較會打指令,不代表誰的那一句該贏。該贏的是範圍裡已經說死的規則,或是你們願意重新做的那個決定。
不要在衝突裡偷偷加第三種規則
人在緊張時會想寫一個看起來兩邊都有的句子,例如「空白單號原則上轉人工,但也可以猜」。這不是解決衝突,這是發明一個沒人簽過的新規。新規要回到範圍討論,不要藏在合併裡。
PM 若在場,你的工作是把兩句話翻譯回決定:「甲是停,乙是猜。我們這週的決定仍是停。乙若要試,另開分支。」翻譯完,工程師才知道該留下哪一段文字。
衝突多,通常是工作切得太稀
若每次改退貨頁都撞在同一段,代表大家都在改同一塊沒有邊界的文字。可以把「天數規則」和「畫面上的句子」分開留狀態,減少兩個人非改同一處不可。這不是為了討好工具,是為了讓決定還看得清。
你不需要自己解決文字層次的衝突。你需要保證沒有人在衝突裡改了商業規則而沒有告訴你。
範例 · 兩句話撞在空白單號上
- 甲留下的狀態:編號是空的,結論只能是轉人工。
- 乙同一天改了同一句:編號是空的,請模型依對話猜測。
- 合併時不該折衷成「先猜,不準再轉人工」。該先確認這週的決定仍是不准猜。
練習
寫兩句會撞在一起的退貨規則,以及你會留下的那一句。再寫一句你拒絕的折衷。
折衷若聽起來比較圓融,檢查它有沒有把「不准猜」寫軟。
完成的時候
- 你能向同事解釋衝突是兩個人改了同一處,不是電腦壞掉。
- 你拒絕在合併時發明第三種沒人簽過的規則。