34

我对 Git 比较陌生。到目前为止,我的知识包括git add push commit. 就是这样,直到现在它对我来说已经足够好了。:)

然而今天早上有人给我发了一个拉取请求,据我所知,这意味着有人分叉了我的存储库,进行了一些调整并标记我说,“嘿,塞尔吉奥,我做了一些改进。考虑将它们用于主分支。”

我对么?

https://github.com/sergiotapia/CherryTomato/pulls

如果是这样,我如何轻松地将这些用户更改合并到存储库的主分支中?我需要触发什么命令?更重要的是,有人可以用外行的方式解释这个过程必须发生什么吗?

谢谢你。

4

3 回答 3

15

你有正确的想法。如果这组更改看起来对您有用,那么您可能希望将其合并到您的存储库中。

Github 提供了一个很好的指南来响应拉取请求:https ://help.github.com/articles/using-pull-requests我会从这个开始,看看你是否对这个过程有任何更具体的问题。

于 2011-04-20T03:17:17.233 回答
6

Github 提供了一个 Fork Queue 屏幕,允许您直接在 Github 上将更改拉入您的 repo。此屏幕以绿色或粉红色显示每个分叉提交,具体取决于它是否会干净地应用,并允许您在存储库中指定一个新分支以将更改合并到其中。fork 队列的 URL 是http://github.com/ //forkqueue

更新:使用以下步骤将拉取请求合并到您的主存储库中:

$ git checkout master
$ git remote add nakor git://github.com/nakor/CherryTomato.git
$ git fetch nakor
$ git merge nakor
$ git push origin master

改编自 Github 文档:http: //help.github.com/pull-requests/#merging_a_pull_request

或者,您可以使用新的“合并拉取请求”,这是今天添加到 Github 的新功能(!):https ://github.com/blog/843-the-merge-button

于 2011-04-20T04:25:30.770 回答
3

在GitHub 拉取请求指南中没有明确提到的一件事是如何将拉取请求应用于您的代码:
我希望合并这些更改:

  • 以快进的方式(这只是将HEAD我的分支移动到下一个 n 提交补丁的一部分)
  • 或至少没有任何冲突(补丁仅修改/删除我在本地未触及的行或添加新行)

如果有最轻微的冲突,最好拒绝补丁,要求发件人再次拉取你自己的代码,在他/她的 repo 中本地解决任何冲突并提出新的拉取请求。
那样:

  • 他们完成工作(“他们”是向您发送“拉取请求”的人,即补丁)
  • 你获利;)
于 2011-04-20T04:12:54.990 回答