我对 GitHub 有疑问——他们是如何实现 Pull Request 功能的。Git SCM 本身有git-request-pull命令。根据这个答案 GitHub 可以使用git-request-pull和git-format-patch来做到这一点。
他们是如何实现这个功能的?那么 Gitorious 和 Gitlab 呢?他们是怎么做到的?
我对 GitHub 有疑问——他们是如何实现 Pull Request 功能的。Git SCM 本身有git-request-pull命令。根据这个答案 GitHub 可以使用git-request-pull和git-format-patch来做到这一点。
他们是如何实现这个功能的?那么 Gitorious 和 Gitlab 呢?他们是怎么做到的?
它们存储您要从中提取和生成差异的分支的名称git diff ^target-branch pull-head
。当您接受拉取请求时,它们只需运行git merge pull-base
.
他们不使用git request-pull
. 甚至有讨论说 Linus Torwalds 侮辱了他们:)