功能分支工作流用一個(gè)共享的 Bitbucket
倉(cāng)庫(kù)來(lái)管理協(xié)作,開(kāi)發(fā)者在專(zhuān)門(mén)的分支上開(kāi)發(fā)功能。
但不是立即合并到 master
分支上,而是在合并到主代碼庫(kù)之前開(kāi)發(fā)者應(yīng)該開(kāi)一個(gè) Pull Request
發(fā)起功能的討論。
http://wiki.jikexueyuan.com/project/git-workflow-tutorial/images/pull-request-feature-branch.png" alt="pull-request-feature-branch" />
功能分支工作流只有一個(gè)公開(kāi)的倉(cāng)庫(kù),所以 Pull Request
的目的倉(cāng)庫(kù)和源倉(cāng)庫(kù)總是同一個(gè)。
通常開(kāi)發(fā)者會(huì)指定他的功能分支作為源分支,master
分支作為目的分支。
收到 Pull Request
后,項(xiàng)目維護(hù)者要決定如何做。如果功能沒(méi)問(wèn)題,就簡(jiǎn)單地合并到 master
分支,關(guān)閉 Pull Request
。
但如果提交的變更有問(wèn)題,他可以在 Pull Request
中反饋。之后新加的提交也會(huì)評(píng)論之后接著顯示出來(lái)。
在功能還沒(méi)有完全開(kāi)發(fā)完的時(shí)候,也可能發(fā)起一個(gè) Pull Request
。
比如開(kāi)發(fā)者在實(shí)現(xiàn)某個(gè)需求時(shí)碰到了麻煩,他可以發(fā)一個(gè)包含正在進(jìn)行中工作的 Pull Request
。
其它的開(kāi)發(fā)者可以在 Pull Request
提供建議,或者甚至直接添加提交來(lái)解決問(wèn)題。