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