可以从github挑选所有PR(拉取请求)



是否可以从 github 中挑选所有待处理的 PR?

假设我有来自 4 个不同分叉存储库的 4 个 PR 等待审核。 我需要将它们全部应用于最新的源代码。

PR#65 Do something
PR#61 Notify this
PR#55 Fix that
PR#42 Show there

我知道我可以git remote add所有存储库并逐个挑选它们。 但是,我相信会有更简单/更短的方法来挑选所有我还不知道的待处理拉取请求;)

提前致谢

简而言之:

将 pr/* 添加到 .git/config


详细地:

假设存储库名为 test_repo

$ git remote -v
test_repo     http://github/testA.git (fetch)
test_repo     http://github/testA.git (push)

1. 打开 git 配置

vim .git/config

2.在[remote "test_repo"]下添加以下行

fetch = +refs/pull/*/head:refs/remotes/test_repo/pr/*

所以它看起来像

[remote "test_repo"]
url = http://github/testA.git
fetch = +refs/heads/*:refs/remotes/test_repo/*
fetch = +refs/pull/*/head:refs/remotes/test_repo/pr/*  <-- this line was added

3. "git fetch"也会获取 PR

$ git fetch test_repo
 * [new ref]         refs/pull/16/head -> test_repo/pr/16
 * [new ref]         refs/pull/17/head -> test_repo/pr/17
 * [new ref]         refs/pull/18/head -> test_repo/pr/18
 * [new ref]         refs/pull/19/head -> test_repo/pr/19

4.现在您可以挑选/结帐到公关 #xx

git cherry-pick test_repo/pr/xx 

您无法挑选提交,因为提交不在本地存储库中。

你应该像这样获取拉取请求..

1 x 1:https://help.github.com/articles/checking-out-pull-requests-locally/

一下子:https://gist.github.com/piscisaureus/3342247

您需要做的是pull每个PR-branch逐个,根据需要解决冲突。

鉴于:

  - PR#65 at https://github.com/author_1/your-repo/tree/PR-branch-name-1
  - PR#61 at https://github.com/author_2/your-repo/tree/PR-branch-name-2
  - PR#55 at https://github.com/author_3/your-repo/tree/PR-branch-name-3
  - PR#42 at https://github.com/author_4/your-repo/tree/PR-branch-name-4

然后在本地拉取每个 PR:
例如PR#65

git checkout <your-test-branch>
git pull https://github.com/author_1/your-repo.git PR-branch-name-1

相关内容

  • 没有找到相关文章

最新更新