我对GitHub有疑问 - 他们如何实现Pull Request功能。 Git SCM本身有git-request-pull个命令。 根据这个答案,GitHub可以使用git-request-pull和git-format-patch来执行此操作。
他们是如何实现此功能的?那么Gitorious和Gitlab呢?他们是如何做到的?
答案 0 :(得分:6)
它们存储您要从中拉出的分支的名称,并使用git diff ^target-branch pull-head
生成差异。当您接受拉取请求时,他们只需运行git merge pull-base
。
他们不使用git request-pull
。甚至有a discussion where Linus Torwalds insults them for it:)