2016-03-06 64 views
5

我现在正在维护传统的GitHub回购,并且有很多被遗弃的PR进入旧的分支。例如,我现在在v3.5分支中工作,而PR则在3.3以上。合并请求到不同分支

如何将它们有效地合并到我的新分支如果他们的目标是老的?

万一重要,我肯定不会有冲突。

我发现了一些关于类似事情的老问题,但是我找不到任何有关如何通过github完成的信息。那还有没有功能?我必须通过git手动执行吗?

+0

分支是如何创建的?所有分支从主?或者是3.5。从3.3分支。例如?我发现让PR进入版本分支而不是主分支很奇怪。 – migg

+0

@migg遗憾的是历史上没有主人。 3.4从3.3分支等等。最新的分支正在扮演主角。所以现在我在3.5,并且想要合并来自3.4的所有PR。 – s1ddok

回答

1

所有引入请求都在这里

pull/ID/head 

保存您可以通过

git fetch REMOTENAME pull/ID/head:BRANCHNAME 
git checkout BRANCHNAME 

本地退房拉拢的要求,如果你希望所有的拉你可以添加到取裁判

这是一个只读地址。是你不能远程

推回到它更新拉入请求

远程名是本地git的名字。这些被git remote -v

+0

这似乎可以帮助我,但我并不真正了解你的问题。这究竟是什么让我能做到的? – s1ddok

+0

什么是branchname?这是我目前的分支,还是这个PR的目标分支?或者是PR自己的分支? – s1ddok

+0

分支名称是引用此拉取请求的新本地分支的名称。例如'git fetch oldGit pull/1234/head:old-pull-1234' – exussum

1

因为很可能不需要老枝表示,您可以将拉取请求合并到旧请求中(如拉取请求中最初请求的那样),然后从旧的请求(例如3.3)创建一个新的拉取请求到新的请求(例如3.5)中。

+0

这个想法是让老的分支为了人们能够下载旧版本。我不想用新的修补程序来破坏它们。 – s1ddok

+0

您可以为此使用标签 – yorammi

3

在github.com拉请求页面上有一个“命令行指令”的链接。如果您想要手动执行该操作,步骤如下:

  • 在PR目标分支之外创建新的合并分支。检出合并分支。通过散列或头部引用将PR拖入合并分支。
  • 通过拉取,合并或樱桃选择将合并分支合并到新的目标分支中。

多一点点搜索找到了这个网页约renaming branch on github website。它建议:

  • 将默认分支设置为您的旧目标分支。使用不同的名称从旧目标分支中创建分支。
  • 将PR合并到旧目标分支。将旧目标分支重命名为不同的东西。
  • 将您的其他新分支重命名为旧目标分支名称。