Heim  >  Fragen und Antworten  >  Hauptteil

Warum führt der Github-Aufrufcode Merge-Anfragen zu Pull-Anfragen statt zu Push-Anfragen?

https://stackoverflow.com/que...

Ich habe die Erklärung hier gelesen, aber ich habe immer noch das Gefühl, dass sie nicht überzeugend genug ist

Mein Verständnis ist: Ich habe einige Änderungen vorgenommen und bitte darum, meine Änderungen in Ihr Lager zu übertragen. Wenn es kein Problem gibt, wäre es nicht angemessener, es als a zu bezeichnen Push-Anfrage? Weil diese Operation von mir initiiert wurde. Pull ist ein Vorgang, der vom Warehouse-Eigentümer für mein Forked Warehouse initiiert wird. Daher sollte der Pull-Request-Vorgang vom Upstream-Warehouse-Eigentümer von mir initiiert werden, anstatt dass ich den Upstream-Warehouse-Eigentümer aktiv auffordere, den Code in mein Warehouse zu ziehen.

三叔三叔2654 Tage vor1142

Antworte allen(4)Ich werde antworten

  • 黄舟

    黄舟2017-06-20 10:07:54

    是这样的,这个应该分开来解释。

    这个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则是对方做的事情。

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-06-20 10:07:54

    换一个写法,xxx request 可以写成 "request for xxx",这样应该会好理解一些。

    括号中的 someone 代表省略的部分。

    request (someone) for pushpush 的执行者是 "someone",因此这个 "someone" 就是你,因为是你 push 代码。如果是 request (someone) for pull,那这个 pull 执行者就是代码库的所有者,因此就是你请求别人 pull。显然是后者更符合实际情况。

    Antwort
    0
  • 为情所困

    为情所困2017-06-20 10:07:54

    主动被动你已经分清楚了。

    那么其实问题是,pull request是你请求上游仓库来拉取你的代码。而如果用push request就是你force推送代码到上游仓库。

    其实这里push和pull并不是说这件事是你主动做的还是被动做的,而是指你的代码是你主动push上去的,还是你的代码被别人pull走的。

    Antwort
    0
  • 为情所困

    为情所困2017-06-20 10:07:54

    如果用gitlab。那么它的merge request 你应该容易理解的多

    Antwort
    0
  • StornierenAntwort