PM 轉職 AI FDE Field notes · Taipei

首頁 · Git 版控 · 第 1 課,共 5 課

Git 版控

為什麼要有版本

版本不是工程師的儀式。它是:改壞了的時候,你還有一個昨天可以站回去。

你其實已經在用版本,只是用得很痛

簡報的「最終版」「最終版 2」「給客戶的最終版」就是版本,只是名字在喊、內容沒有被好好凍結。兩週後沒有人敢說哪一份才是會議上點過頭的。軟體若也這樣,退貨頁今天的規則和上週演示的規則會悄悄混在一起。

FDE 的完成定義是一個會被呼叫的動作。動作會被改。沒有版本,你無法回答主管:「現在線上的,是我們週三說好的那一版,還是週五晚上臨時改的?」答不出來,就不能說你在交付。

版本要回答的三個問題

第一,現在這一份跟上一份差在哪。第二,這個差是誰、為了哪個決定留下的。第三,若這個差是錯的,回到上一份要多久,會不會把別的好改動一起清掉。三個都答得出,版本才有在工作。只是檔名後面加日期,通常三個都答不出。

對 PM 來說,這三問就是範圍和上線判準的延伸。範圍寫「七天內才可退」。若有人改成十四天,你要看得到這個改動是一個單獨的狀態,而不是打開檔案才發現句子變了。

先不要被工具嚇到

Git 是一種把這些狀態記下來的工具。這一軌不教你一長串指令。指令會變,而且貼在教材裡很容易變成沒有判斷的複製。你要先有判斷:什麼時候該留下一個狀態、什麼時候該另開一條嘗試、什麼時候該回到大家共用的那一份。

判斷有了,指令可以在你自己的電腦上跟工程師一起看。判斷沒有,指令只會讓你更快地把壞的狀態送上去。

範例 · 沒有版本的退貨頁

週三演示:沒有訂單編號就轉人工。週五有人覺得太嚴格,改成空白也可以猜。週一客服說它開始亂退。

  • 沒有版本:沒有人敢說週三的句子還在不在,只能在檔案裡找。
  • 有版本:週三是一個可回頭的狀態。先回到那個狀態,再決定要不要重新討論十四天或空白單號。

練習

回想一次你用檔名在管版本的經驗。寫下當時答不出來的那一問:差在哪、誰改的、還回不回得去。

把那一問改寫成你希望退貨頁也能回答的句子。

完成的時候

  • 你能說明版本是為了回頭和對差,不是為了看起來專業。
  • 你舉得出一個沒有版本就會吵不完的退貨規則改動。