"创建拉取请求"基于提交而不是分支的拉取请求时,按钮丢失

时间:2016-06-12 07:22:05

标签: github

当我创建拉取请求时,我可以选择将其作为基础的分支。

我也可以将提交指定为" base branch" (以及标签和历史记录标记)。

我想使用commit而不是master来使存储库的所有者知道master不可编译的事实,并且我已经在本地基于该提交工作。

enter image description here 如果我从使用遥控器主机改为使用提交(远程存在),通过在下拉列表的文本字段中输入SHA1哈希,差异将是正确的,但是"创建拉取请求"按钮将不再存在。

为什么不呢?

修改

作为对响应的响应,它会导致分离的HEAD。

远程存储库的样子:

-C1-C2-M

我的存储库是什么样的:

-C1-C2-R/M
   \ 
    MyC3-MyBranch

我希望远程存储库看起来像:

-C1-C2-M
   \ 
    MyC3-MyBranch

如何分离HEAD?

3 个答案:

答案 0 :(得分:1)

因为维护者无法接受(合并)PR到他/她的一个分支。

将PR分支合并到提交create a detached HEAD

我的意思是在维护者方面

你自己的回购有任何分离的HEAD:你的PR分支可以从它想要的任何提交开始。
但原始回购在您用于启动PR分支的提交中没有分支

因此,PR分支无法在原始 repo分支之上合并,因为再次没有要合并的分支(在原始repo端,而不是你的一面)
将(在原始repo端)合并到提交(而不是现有分支)上的分支将创建分离的HEAD,即由无分支(在该原始仓库中)引用的提交(合并的结果)。 / p>

PR的目标是将PR分支集成/合并到原始仓库的现有分支中,而不是创建/添加新分支(MyBranch)。

您需要从原始仓库的维护者处请求首先从该提交创建分支,以便您将此分支用于您的PR。

作为替代方案:

  • master
  • 开始您的PR分支
  • 添加一个恢复提交,恢复为您要启动的提交(git revert),
  • 然后添加您的修复提交

答案 1 :(得分:0)

合并请求应用于分支的顶部。当提交者与某个历史时刻相关联而不是分支顶部时,它不能应用合并请求的补丁。

如果您看到要提交更改的分支,则需要将分支重新绑定到分支以进行合并。在这个rebase之后做拉请求。

答案 2 :(得分:0)

我也遇到了麻烦。老实说,我认为这是gitHub的某种故障。 “创建请求请求”按钮刚刚消失。

就我而言,我试图将“开发”分支中的特定提交合并到master中。

我找到的解决方案是下拉我想要的提交的本地分支,然后将我的本地分支推向master并以这种方式创建PR。 轻松解决。

相关问题