Github如何实现其Pull Request功能

Vla*_*lev 4 git version-control implementation github gitorious

我对GitHub有疑问 - 他们如何实现Pull Request功能.Git SCM本身有git-request-pull命令.根据这个答案,GitHub可以使用git-request-pullgit-format-patch来做到这一点.

他们是如何实现此功能的?那么Gitorious和Gitlab呢?他们是如何做到的?

Chr*_*ial 7

它们存储您要从中拉出的分支的名称并使用生成差异git diff ^target-branch pull-head.当您接受拉取请求时,它们只是运行git merge pull-base.

他们不使用git request-pull.甚至有一个讨论,Linus Torwalds侮辱他们 :)