GitHub 的 Pull Request 是指什么意思?

作者:beepony
链接:https://www.zhihu.com/question/21682976/answer/79489643
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

我尝试用类比的方法来解释一下 pull reqeust。想想我们中学考试,老师改卷的场景吧。你做的试卷就像仓库,你的试卷肯定会有很多错误,就相当于程序里的 bug。老师把你的试卷拿过来,相当于先 fork。在你的卷子上做一些修改批注,相当于 git commit。最后把改好的试卷给你,相当于发 pull request,你拿到试卷重新改正错误,相当于 merge。

当你想更正别人仓库里的错误时,要走一个流程:

  1. 先 fork 别人的仓库,相当于拷贝一份,相信我,不会有人直接让你改修原仓库的

  2. clone 到本地分支,做一些 bug fix

  3. 发起 pull request 给原仓库,让他看到你修改的 bug

  4. 原仓库 review 这个 bug,如果是正确的话,就会 merge 到他自己的项目中

至此,整个 pull request 的过程就结束了。

理解了 pull request 的含义和流程,具体操作也就简单了。以 Github 排名最高的 https://github.com/twbs/bootstrap 为例说明。
1. 先点击 fork 仓库,项目现在就在你的账号下了

 

 

 

 

 

2. 在你自己的机器上 git clone 这个仓库,切换分支(也可以在 master 下),做一些修改。

~  git clone https://github.com/beepony/bootstrap.git
~  cd bootstrap
~  git checkout -b test-pr
~  git add . && git commit -m "test-pr"
~  git push origin test-pr

3. 完成修改之后,回到 test-pr 分支,点击旁边绿色的 Compare & pull request 按钮

 

4. 添加一些注释信息,确认提交

5. 仓库作者看到,你提的确实是对的,就会 merge,合并到他的项目中

 

 

以上就是 pull reqesut 的整个流程,希望对你有帮助~

参考文档:
Fork A Repo - User Documentation
Using pull requests
Creating a pull request

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: GitHub pull request GitHub 上发起的一种请求,用于将您的更改合并到另一个项目的主干分支中。当您在 GitHub 上的某个项目中进行了修改并准备将其提交给项目维护者时,可以使用 pull request。项目维护者会收到您的请求并对其进行审核,如果批准,则会将更改合并到主干分支中。 ### 回答2: GitHub pull request是一种让开发者为开源项目做出贡献的方式。当一个开发者想要为一个开源项目提交代码,但是不直接拥有项目的权限时,他们就可以通过GitHub pull request来为该项目提交代码。 在GitHub pull request中,开发者可以将他们的代码分支(branch)提交给项目的维护者。这个分支包含了开发者的修改代码。维护者可以查看代码,提出意见或更改(coder review),并将代码合并(merge)到主代码库中。 GitHub pull request从根本上改变了软件开发的方式,使得代码管理和协作更加容易和高效。开发者们可以在GitHub上针对特定的问题、新功能等等提交Pull Request,与其他开发者进行讨论和合作,甚至在被提交到主分支之前就可以帮助维护者发现问题并进行更改。 通过GitHub pull request,开发者可以参与到许多的开源项目中,并且通过社区的力量来进行代码贡献。在这个过程中,他们可以学习到其他开发者的开发技能,同时也可以获得代码贡献的证明和其他项目的奖励。 ### 回答3: GitHub是一个强大而且流行的代码托管和版本控制平台,它允许多人协同开发项目,并允许外部人员对项目进行贡献。而pull request就是其中一个重要的功能。 在GitHub上,用户可以fork(分叉)一个开源项目到自己的账户下,进行修改和改进。然后,他们可以将这些修改请求合并到原始项目中,方法是通过pull request(拉请求)。通过向主项目的维护者发送一个pull request,请求他们合并你的更改,你可以对其他开发者展示你所做的修改,并且可以与整个GitHub社区共享您所做的工作。 pull request不仅仅是展示你所做的工作,它也是开源社区审核的一种重要方式,因为它允许其他开发者来评论你的更改!这些反馈可以来自所有地方:来自主项目维护者、其他贡献者、其他用户,它们可以将代码中的语义错误、功能问题、 bug等等发现。 在发起pull request之前,你应该遵循一些最佳实践。首先,确保你的fork是基于最新的主项目;其次,在你的分支上开发和测试代码,避免提交任意类型的错误代码;最后,严格遵循主项目的一些代码规环(如:文件格式、编码规范等)。这些最佳实践将让主项目的维护者更容易接受你的pull request。 总之, pull requestGitHub系統的一種功能,它使软件开发更加透明、明确、容易跟踪,可以加强开源社区代码的审核和共享,提高团队整体的代码水品和项目开發效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值