為什么Github要把代碼合並請求稱為pull request而不是push request?


問題:

我的理解是:我做了一些修改,我請求把我的修改push到你的倉庫,然后你review一下我的代碼,如果沒問題就接受請求merge,這樣的話叫做push request豈不是更合適?因為這個操作是我主動發起的。pull是倉庫主向我fork的倉庫發起的操作,那么pull request這種操作應該是要上游倉庫主來向我發起啊,而不是我主動讓上游倉庫主來pull我倉庫中的代碼。

 
答案:

這個pull指的是權限主體的操作。你提交了代碼,但是你沒有操作上游repo的權限,你需要上游repo的主人review你的代碼,然后把你的代碼修改pull到他的repo中去,這是對於pull的解釋。

而request則指的是發起主體的操作。也就是說,上游repo的主人雖然有repo的控制權,可以把你的代碼更改pull到他自己的repo里,但是他不會主動去pull。而是需要你(發起主體)向上游repo的主人提交申請,也就是request,上游repo的主人才會去響應你的request,也就是執行你所說的review和pull的過程。

所以,pull request的理解方法是:一個通知上游repo所有者拉取代碼(pull)請求(request)

在英語中,request一般指的是提交一個申請,需要對方對申請給予答復的。而request之前的修飾詞,則是答復方的動作,當然,中文中也是一樣。比如“入團申請”,你提交申請之后,需要對方允許你入團你才算是團員。所以,入團的動作不是你主動做的,而是由審核的人把你的名字加上去才算“入團”。同理“pull request”中,request是你提交的,而pull則是對方做的事情。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM