来自不同组织上不同仓库的Git拉取请求

时间:2019-07-17 15:32:19

标签: git github pull-request

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

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

需要明确的是,我不是这两者的所有者,所以我无法删除并进行分叉。

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

2 个答案:

答案 0 :(得分:2)

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

步骤1。转到GitHub并创建A-fork。

第2步。克隆叉子:

git clone <URL for A-fork>

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

git remote add B <URL for B>
git fetch B
git checkout branch-for-PR

步骤3 b。如果branch-for-PR已存在于A-fork上,则需要从B合并该分支的状态:

git merge B/branch-for-PR

第4步。将branch-for-PR推入A-fork,这是origin,因为这是您在第2步中克隆的:

git push origin branch-for-PR

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

无论B托管在哪里,在私有Git存储库上或在另一个GitHub用户下,它都可以工作。您所需要做的就是能够从同一沙箱连接到两者。

答案 1 :(得分:1)

是的。只要他们共享足够的历史记录(提交),就没有问题。

  1. 转到B目录,并将A添加为远程(git remote add repoA $GIT_REPO_URL)。
  2. git fetch repoA
  3. 继续使用相同的方式,如果一个是另一个的叉子