当我创建拉取请求时,我可以选择将其作为基础的分支。
我也可以将提交指定为" base branch" (以及标签和历史记录标记)。
我想使用commit而不是master来使存储库的所有者知道master不可编译的事实,并且我已经在本地基于该提交工作。
如果我从使用遥控器主机改为使用提交(远程存在),通过在下拉列表的文本字段中输入SHA1哈希,差异将是正确的,但是"创建拉取请求"按钮将不再存在。
为什么不呢?
作为对响应的响应,它会导致分离的HEAD。
远程存储库的样子:
-C1-C2-M
我的存储库是什么样的:
-C1-C2-R/M
\
MyC3-MyBranch
我希望远程存储库看起来像:
-C1-C2-M
\
MyC3-MyBranch
如何分离HEAD?
答案 0 :(得分:1)
因为维护者无法接受(合并)PR到他/她的一个分支。
将PR分支合并到提交create a detached HEAD。
我的意思是在维护者方面:
你自己的回购不有任何分离的HEAD:你的PR分支可以从它想要的任何提交开始。
但原始回购在您用于启动PR分支的提交中没有分支。
因此,PR分支无法在原始 repo分支之上合并,因为再次没有要合并的分支(在原始repo端,而不是你的一面)。
将(在原始repo端)合并到提交(而不是现有分支)上的分支将创建分离的HEAD,即由无分支(在该原始仓库中)引用的提交(合并的结果)。 / p>
PR的目标是将PR分支集成/合并到原始仓库的现有分支中,而不是创建/添加新分支(MyBranch)。
您需要从原始仓库的维护者处请求首先从该提交创建分支,以便您将此分支用于您的PR。
作为替代方案:
master
,答案 1 :(得分:0)
合并请求应用于分支的顶部。当提交者与某个历史时刻相关联而不是分支顶部时,它不能应用合并请求的补丁。
如果您看到要提交更改的分支,则需要将分支重新绑定到分支以进行合并。在这个rebase之后做拉请求。
答案 2 :(得分:0)
我也遇到了麻烦。老实说,我认为这是gitHub的某种故障。 “创建请求请求”按钮刚刚消失。
就我而言,我试图将“开发”分支中的特定提交合并到master中。
我找到的解决方案是下拉我想要的提交的本地分支,然后将我的本地分支推向master并以这种方式创建PR。 轻松解决。