Forking
工作流是分布式工作流,充分利用了 Git
在分支和克隆上的優(yōu)勢??梢园踩煽康毓芾泶髨F隊的開發(fā)者( developer
),并能接受不信任貢獻者( contributor
)的提交。
Forking
工作流和前面討論的幾種工作流有根本的不同,這種工作流不是使用單個服務(wù)端倉庫作為『中央』代碼基線,而讓各個開發(fā)者都有一個服務(wù)端倉庫。這意味著各個代碼貢獻者有 2 個 Git
倉庫而不是 1 個:一個本地私有的,另一個服務(wù)端公開的。
http://wiki.jikexueyuan.com/project/git-workflow-tutorial/images/git-workflows-forking.png" alt="git-workflows-forking" />
Forking
工作流的一個主要優(yōu)勢是,貢獻的代碼可以被集成,而不需要所有人都能 push
代碼到僅有的中央倉庫中。
開發(fā)者 push
到自己的服務(wù)端倉庫,而只有項目維護者才能 push
到正式倉庫。
這樣項目維護者可以接受任何開發(fā)者的提交,但無需給他正式代碼庫的寫權(quán)限。
效果就是一個分布式的工作流,能為大型、自發(fā)性的團隊(包括了不受信的第三方)提供靈活的方式來安全的協(xié)作。也讓這個工作流成為開源項目的理想工作流。