是否可以从 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