我以前一直覺得大學考名詞解釋就是想辦法送分的,不然大家成績實在是太爛了,這雖然有點道理,但是現在又發現他的新用途。
某 Git 倉庫有 dev 分支,結果 owner 只會在 new release 的時候把所有東西都 merge 進去,這導致每次 release 都不可以有任何一個 merge conflict...如果他有考過名詞解釋把 Git flow 的目的寫出來:
Git Flow 是一種分支策略,主要目的在於區分不同階段的開發流程:如 feature 開發、bug 修復、版本釋出等。通常會有
main
(穩定)、develop
(整合開發)、feature/xxx
(功能)、release/xxx
(準備發行)與hotfix/xxx
(緊急修復)等分支,避免直接在 main 上進行實驗,並讓各階段變更可控、可測、可追蹤。
那他就應該知道:
develop
是給多個 feature 分支的暫時整合點develop
分支如果不作為 CI 測試主幹、也不維護 staging 狀態,那它根本沒用
沒有做這些東西導致 dev 分支毫無用途,有些人發在 main 分支,有些發在 dev,然後 dev 分支沒有測試、沒有部署,實際上只是額外多一次 merge 步驟而已,沒有任何幫助。你可能說 owner 只是沒有及時 merge,這是不正確的,因為他的 PR CI preview 限制 main 分支才能觸發,表示他根本沒搞懂 dev 分支的意義。
雖然沒有造成更多負面影響只是造成一點混亂而已,但是寫過名詞解釋這些都不會發生。