2014-02-26 32 views
2

我在我的GitHub库中的一个接收拉入请求(有人想合并他们提交他们做了一个分叉库)。为什么我不能摘樱桃靠近拉要求在github

因为我不喜欢在他们提交的东西,我希望通过推动这一掌握分支之前提交的另一个修改它们。

为了做到这一点,我挑樱桃的提交到我的主分支,然后做其他承诺固定的问题,然后又将其所有在GitHub上。

然而,这并没有关闭拉请求,因为我已经有他们在提交我的历史,我不想点击“合并”按钮,因为我不想莫名其妙地打破我的仓库。为什么我不能使用樱桃选择来关闭这样的请求?使用内部github的命令和手动樱桃选择合并2个存储库有什么区别?

回答

1

您必须拒绝该拉取请求。

只能在它的方式合并。或完全否认。你不能选择一些提交,并让Git(和随后的GitHub)认识到这是你的“合并” - 事实并非如此。这是您的提交,可能看起来像其他提交,但基于不同的父提交。

的另一个选项是与拉请求者沟通,让他们重新安排的东西,你喜欢的方式,然后合并。但是因为你已经选择了你喜欢的提交,现在已经过时了。

+0

是的,我有点理解这一点,但我樱桃选择了所有提交请求中的提交。如果我只挑选了部分拉动请求,那么意识到这是不可能的。所以基本上,如果我这样做了,我的提交历史记录(git log)在两种情况下看起来都是相同的。这就是为什么我不明白,github在这方面看到了不同。 – Petr

+0

@Petr,这是因为afaik GitHub不会将pull请求视为传统合并,这意味着您的樱桃采摘不会被认为是参与者发起的pull请求的一部分。 –

+1

这与GitHub无关,但与Git工作:如果你合并,你创建一个提交与两个父母(每个分支的最后两个提交)。当采摘樱桃时,您的提交只有一位家长,并且该选择从哪里来的连接将丢失。此外,如果您不按照原样使用选择,则会更改每次提交的哈希ID。最后但并非最不重要的是:如果你挑选并提交一个不同的父ID,这个提交的哈希值也必须改变,即使代码改变没有改变。所以如果你想合并:合并。没有替代。 – Sven