What is trunk-based development
What is
Trunk-based development(TBD) 是一種軟體開發策略,就像是 git-flow
。
利用主幹開發可以完整的呈現軟體開發的歷程,像是在 master 上重現 bug。
Trunk-Based Development For Smaller Teams
Scaled Trunk-Based Development
Key Points
在這個策略有一些很重要的重點
Developers
- 一般而言,只能在 master 上 commit
- 確保每一個 commit 是可以正常運作的
- 準缺的拆分每個 commit
Release
- release 時會從 master create a release branch 像是 release-1.1
- 一旦 release 後就不太會更動,除非是一些 bug fix
- release branch 完成它的任務時就可以被砍掉了
- 所有 bug fix 都應該發生在 master 再使用
cherry-pick
到 release branch
Conclusion
我覺得 TBD 對於 release 是非常友善的,但是很考驗 developers 的能力,像是拆分 commit 並確保每個 commit 是能正常的運行。相較 git-flow
不會出現 merge conflict。