今天看了一下翻譯的git工作流指南,簡單總結(jié)一下。
Git工作流指南
Git工作流指南:集中式工作流
Git工作流指南:功能分支工作流
Git工作流指南:Gitflow工作流
Git工作流指南:Forking工作流
Git工作流指南:Pull Request工作流
集中式工作流
所有人都在master分支上開發(fā)。每個人先從遠程master分支上拉取代碼,然后進行編輯,暫存,提交,最終push回遠程master分支。
功能分支工作流
不同的功能對應(yīng)不同的功能分支,每個功能分支都check自master分支,并有相應(yīng)的遠程功能分支,每個功能開發(fā)完成后,將本地功能分支的代碼push到對應(yīng)的遠程功能分支上,再通過pull request將遠程功能分支合并到遠程master分支上。
Gitflow工作流
該工作流在功能分支工作流的基礎(chǔ)上增加了develop,release和hotfix分支。
develop分支創(chuàng)建自master分支,各功能分支創(chuàng)建自develop分支,每個master分支的push都對應(yīng)著一次發(fā)布。每個功能完成后,都將功能分支的代碼合并到develop分支,然后在develop分支基礎(chǔ)上創(chuàng)建release分支,用作發(fā)布準備,待relearese分支準備完備后,將release分支合并到master和develop分支,并將master分支發(fā)布,如果發(fā)布后出現(xiàn)bug,則在master分支基礎(chǔ)上創(chuàng)建hotfix分支,在hotfix分支上修復(fù)bug后,將hotfix分支合并回master和develop分支。
將功能分支合并到develop分支有兩種方法:
- 在托管平臺(github)上向master分支上發(fā)pull request
- 在本地master分支上merge develop分支,然后push到遠程master分支
Forking工作流
前幾個工作流都只有一個遠程倉庫,而工作流有多個遠程倉庫,一般為開源代碼做貢獻都使用該工作流。首先從正式倉庫fork一份自己的遠程倉庫,所有的修改都在自己的遠程倉庫上修改,待功能開發(fā)完成后,再向正式倉庫發(fā)pull request請求合并。