在Github上更改拉请求的基本分支时,将删除哪些提交?
协作者在Github存储库上创建了一个pull请求,该请求基于在Github上更改拉请求的基本分支时,将删除哪些提交?,git,github,github-api,Git,Github,Github Api,协作者在Github存储库上创建了一个pull请求,该请求基于master分支。我想将其合并到我目前正在处理的下一个发行版分支(2.0.3),而不是master分支。正如几个答案所指出的,我可以通过单击pull请求标题旁边的“Edit”然后更改基本分支来做到这一点 但是,当我这样做时,我会收到一条警告“来自旧的基本分支的一些提交可能会从时间线中删除。”还说“当您更改拉请求的基本分支时,一些提交可能会从时间线中删除。” 有人能解释一下这个警告指的是哪一个提交,以及何时可以删除它们吗?这些提交是在m
master
分支。我想将其合并到我目前正在处理的下一个发行版分支(2.0.3
),而不是master
分支。正如几个答案所指出的,我可以通过单击pull请求标题旁边的“Edit”然后更改基本分支来做到这一点
但是,当我这样做时,我会收到一条警告“来自旧的基本分支的一些提交可能会从时间线中删除。”还说“当您更改拉请求的基本分支时,一些提交可能会从时间线中删除。”
有人能解释一下这个警告指的是哪一个提交,以及何时可以删除它们吗?这些提交是在master
分支、pull请求还是新的基本分支(2.0.3
)中?“从时间线中删除”是指Github上pull请求的讨论页面,还是指从存储库中删除提交
更新
正如@Romanvaleri所指出的,这个过程不会从存储库中添加或删除任何提交,它只会更改pull请求中显示的提交,因为其中一些提交可能不再位于分支的底部和提示之间。但是,尖端仍将保持与以前相同的最终状态
在我的例子中,pull请求(feature
)在我的请求之后分支出master
,如下所示:
A---B---C---D <<< master
\ \
\ E---F <<< feature (pull request)
\
G---H <<< 2.0.3
然后,当我将功能的基础更改为2.0.3
时,它仍然在pull请求中显示E和F(I之外的额外代码),这正是我想要的
我认为在feature
在2.0.3
之前分支出master
的情况下,如果您将feature
的基更改为2.0.3
(两个分支的原始基之间的提交,它们已经在2.0.3
中),您会看到一些提交从pull请求中消失。但是从存储库中不会丢失任何提交。我不是github用户,而是bitbucket用户,但这里使用的git概念是相同的,如果我没有弄错的话,下面是它的意思:
让我们看看下面的示例情况
A---B---C <<< master
\
D---E---F <<< feature-1
\
G---H <<< feature-2
A--B--C谢谢!实际上,我得到了与此相反的效果,因为事实证明有几个对master的中间提交没有合并到2.0.3,即,拉请求比2.0.3晚从master分支。因此,当我将pull请求的基础更改为2.0.3而不是master时,我在pull请求中得到了一系列新的提交(所有添加到master的内容都包含在pull请求中,但还不是2.0.3的一部分)。我首先通过将master合并到2.0.3中解决了这个问题;然后我可以将pull请求建立在2.0.3的基础上,看起来不错。Github想告诉您“您的提交将只从更改列表中删除”,而不是从您的回购中删除。
警告说“旧的基本分支中的一些提交可能会从TimeTime中删除”,这是一种非常令人困惑的说法“如果你改变了基本分支,这个PR的外观将发生很大的变化”。他们让人觉得,仅仅通过改变PRs基本分支,提交可能会被从基本分支中删除,这很可怕。
A---B---C <<< master
\
D---E---F <<< feature-1
\
G---H <<< feature-2