Git工作流指南
工作流其實不是一個初級主題,背后的本質問題其實是有效的項目流程管理和高效的開發協同約定,不僅是Git
或SVN
等SCM
工具的使用。
這篇指南以大家在SVN
中已經廣為熟悉使用的集中式工作流作為起點,循序漸進地演進到其它高效的分布式工作流,還介紹了如何配合使用便利的Pull Request
功能,體系地講解了各種工作流的應用。
行文中實踐原則和操作示例并重,對于Git
的資深玩家可以梳理思考提升,而新接觸的同學,也可以跟著step-by-step操作來操練學習并在實際工作中上手使用。
關于Git
工作流主題,網上體系的中文資料不多,主要是零散的操作說明,希望這篇文章能讓你更深入理解并在工作中靈活有效地使用起來。
PS:
文中Pull Request
的介紹用的是Bitbucket
代碼托管服務,由于和GitHub
基本一樣,如果你用的是GitHub
(我自己也主要使用GitHub
托管代碼),不影響理解和操作。
自己理解粗淺,翻譯中不足和不對之處,歡迎建議(提交Issue)和指正(Fork后提交代碼)!
Git
工作流指南
工作流有各式各樣的用法,但也正因此使得在實際工作中如何上手使用變得很頭大。這篇指南通過總覽公司團隊中最常用的幾種
Git
工作流讓大家可以上手使用。
在閱讀的過程中請記住,本文中的幾種工作流是作為方案指導而不是條例規定。在展示了各種工作流可能的用法后,你可以從不同的工作流中挑選或揉合出一個滿足你自己需求的工作流。
概述
集中式工作流
如果你的開發團隊成員已經很熟悉Subversion
,集中式工作流讓你無需去適應一個全新流程就可以體驗Git
帶來的收益。這個工作流也可以作為向更Git
風格工作流遷移的友好過渡。
功能分支工作流
功能分支工作流以集中式工作流為基礎,不同的是為各個新功能分配一個專門的分支來開發。這樣可以在把新功能集成到正式項目前,用Pull Requests
的方式討論變更。
Gitflow
工作流
Gitflow
工作流通過為功能開發、發布準備和維護分配獨立的分支,讓發布迭代過程更流暢。嚴格的分支模型也為大型項目提供了一些非常必要的結構。
Forking
工作流
Forking
工作流是分布式工作流,充分利用了Git
在分支和克隆上的優勢。可以安全可靠地管理大團隊的開發者(developer
),并能接受不信任貢獻者(contributor
)的提交。
Pull Requests
Pull requests
是Bitbucket
提供的讓開發者更方便地進行協作的功能,提供了友好的Web
界面可以在提議的修改合并到正式項目之前對修改進行討論。
來自:https://github.com/quickhack/translations/tree/master/git-workflows-and-tutorials