来自不同组织的不同存储库的 Git 拉取请求

uni*_*ria 5 git github pull-request

好的,我有一个可能独特的情况

我有两个存储库,位于不同的组织中(B 不是 A 的分支,而是克隆),但都在 GitHub 上。一个是我的管理员 (B),另一个我是仅具有读取访问权限的协作者 (A)。

需要明确的是,我不是两者的所有者,所以我不能删除和分叉。

我需要从存储库 B 向存储库 A 提交拉取请求。这可能吗?如果是这样,怎么办!

joa*_*nis 5

根据评论中的说明,这是一个应该适合您的完整解决方案:

步骤1. 进入GitHub并fork A,创建A-fork。

第 2 步:克隆你的 fork:

git clone <URL for A-fork>
Run Code Online (Sandbox Code Playgroud)

步骤 3. 将 B 作为第二个远程添加到同一个沙箱,并签出您必须作为拉取请求提交的分支 - 我将其称为branch-for-PR

git remote add B <URL for B>
git fetch B
git checkout branch-for-PR
Run Code Online (Sandbox Code Playgroud)

步骤 3 b. 如果branch-for-PRA 分支上已经存在,则需要合并 B 分支的状态:

git merge B/branch-for-PR
Run Code Online (Sandbox Code Playgroud)

步骤 4. 将其推branch-for-PR至 A 叉,因为origin这是您在步骤 2 中克隆的内容:

git push origin branch-for-PR
Run Code Online (Sandbox Code Playgroud)

步骤 5. 转到 GitHub 上的 A-fork 并从 中创建拉取请求branch-for-PR。这将照常通知 A 的管理员。

无论 B 托管在何处、在私有 Git 存储库上还是在另一个 GitHub 用户下,这都可以工作。您所需要的只是能够从同一个沙箱连接到两者。