Github 当我';我已经换了一把叉子

Github 当我';我已经换了一把叉子,github,git-fork,Github,Git Fork,我之前曾向jockm/vert.x发送过一个请求。现在我想分叉vert-x/vert.x(jockm/vert.x的上游)并向它们发送一个不同的pull请求。但是,当我单击Fork按钮时,令人惊讶的是,我最终进入了jockm/vert.x的tjcrower/vert.x Fork。是否可以同时分叉vert-x/vert.x和jockm/vert.x,以便我可以根据需要发送每个pull请求 我担心答案可能与相同(“没有GitHub方式,但您可以添加远程回购”),但我希望不是这样-因为我不知道那里的

我之前曾向jockm/vert.x发送过一个请求。现在我想分叉vert-x/vert.x(jockm/vert.x的上游)并向它们发送一个不同的pull请求。但是,当我单击Fork按钮时,令人惊讶的是,我最终进入了jockm/vert.x的tjcrower/vert.x Fork。是否可以同时分叉vert-x/vert.x和jockm/vert.x,以便我可以根据需要发送每个pull请求


我担心答案可能与相同(“没有GitHub方式,但您可以添加远程回购”),但我希望不是这样-因为我不知道那里的答案如何允许我向新的远程发送拉取请求。

我没有看到关于“多叉”的任何细节,所以我可能会创建另一个GitHub帐户,在该模式下,我将进行第二次克隆,并将不同的拉取请求发送到
vert.x/vert.x

由于您可以使用“”(也可以使用右侧),因此这是一种可能的解决方法。

没有GitHub方法(小谎,见下文),但也没有什么可担心的

根据定义,你的叉子就是原始叉子。 打开拉取请求时,您可以选择拉取请求的起点和终点。这里可用的选择显然取决于fork图,但只要在两个存储库之间的图中有一条路径,您就应该是安全的。 此外,由于pull请求在网站端活动,只要不想从git使用它,您甚至不需要添加遥控器

现在,当然,你可能想重新考虑你在图表中的位置,让自己成为真正上游的直接孩子,但这基本上是无关的


如前所述,实际上有一种扭曲的方式来拥有多个分叉,即创建组织并在其中分叉。这样,您就可以在同一个图中“拥有”多个存储库。但是确实没有必要去那里。

似乎更好的选择是在您的fork上创建一个分支,并从该分支创建一个pull请求。您可以使用分支来“分叉”您的版本

多亏了,我看到,当我在jockm/vert.x repo上执行拉取请求时,不仅上游回购可用,而且上游回购的所有其他分叉也可用。所以我最后做的是:

  • 删除我的jockm/vert.x分支,改为vert-x/vert.x分支,因为我主要希望在主上游回购协议中工作,而不是在jockm的版本中工作
  • 为我想发送到jockm的提交创建一个分支,为我想发送到vert-x的提交创建一个单独的分支
  • 对每个分支机构进行相关变更
  • 将每个分支的pull请求发送到相关的回购协议,因为jockm/vert.x回购协议被列为请求的可能目标(以及大约200个其他分支)

  • 我使用了单独的分支(基本上是主题分支),因此这些提交将仍然是这些拉请求中唯一的内容,因为同一分支上的后续提交将自动添加到拉请求中,这些更改需要保持隔离状态,直到/除非合并。

    您也可以在您的配置文件/设置下创建一个新的组织。然后,您可以通过同一帐户对同一原始回购协议的不同状态进行分支。

    如果您想创建多个GitHub回购协议分支,您可以使用alternative。

    谢谢。如果我不能“正确地”做这件事,我会记住这个解决办法。(在这种特殊情况下,我认为jockm/vert.x回购不会非常活跃,所以我可能只需要确保他完成了提交[这三行],然后取消分叉,但如果它出现在其他地方,这是有用的信息。)@t.J.Crowder我在考虑取消分叉,但是我不确定你的请求有什么副作用。在考虑拉请求之前,我不会取消fork(正如您所评论的),因此我建议使用第二个帐户。果然,如果我执行另一个拉请求,我可以选择将其发送到jockm/vert.x或vert-x/vert.x(或上游的许多其他分支中的任何一个)。谢谢我必须小心避免试图发送对vert-x/vert.x的更改,这些更改实际上是针对jockm/vert.x的,但这就是分支的用途。FWIW,我已经了解了如何应用这个答案中的知识。再次感谢。问题是,当你对原始回购进行PR时,它将包含你意外地对同一分支所做的所有废话。重命名你的呆滞的回购协议,然后分叉原始文件比清理混乱要容易得多。重命名回购协议似乎不允许重新分叉原始文件,它只会分叉到重命名的存储库?!?,不需要发布它的副本。