在 Forking
工作流中,開發(fā)者 push
完成的功能到他自己的倉庫中,而不是共享倉庫。
然后,他發(fā)起一個 Pull Request
,讓項目維護(hù)者知道他的功能已經(jīng)可以 Review
了。
在這個工作流,Pull Request
的通知功能非常有用,
因為項目維護(hù)者不可能知道其它開發(fā)者在他們自己的倉庫添加了提交。
http://wiki.jikexueyuan.com/project/git-workflow-tutorial/images/pull-request-forking-workflow-1.png" alt="pull-request-forking-workflow-1" />
由于各個開發(fā)有自己的公開倉庫,Pull Request
的源倉庫和目標(biāo)倉庫不是同一個。
源倉庫是開發(fā)者的公開倉庫,源分支是包含了修改的分支。
如果開發(fā)者要合并修改到正式代碼庫中,那么目標(biāo)倉庫是正式倉庫,目標(biāo)分支是 master
分支。
Pull Request
也可以用于正式項目之外的其它開發(fā)者之間的協(xié)作。
比如,如果一個開發(fā)者和一個團(tuán)隊成員一起開發(fā)一個功能,他們可以發(fā)起一個 Pull Request
,
用團(tuán)隊成員的 Bitbucket
倉庫作為目標(biāo),而不是正式項目的倉庫。
然后使用相同的功能分支作為源和目標(biāo)分支。
http://wiki.jikexueyuan.com/project/git-workflow-tutorial/images/pull-request-forking-workflow-2.png" alt="pull-request-forking-workflow-2" />
2 個開發(fā)者之間可以在 Pull Request
中討論和開發(fā)功能。
完成開發(fā)后,他們可以發(fā)起另一個 Pull Request
,請求合并功能到正式的 master
分支。
在 Forking
工作流中,這樣的靈活性讓 Pull Request
成為一個強有力的協(xié)作工具。