GitHub中的Fork、Pull Request、Merge都是个啥意思?
作者:beepony
链接:https://www.zhihu.com/question/21682976/answer/79489643
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
尝试用类比的方法来解释一下。想想我们中学考试,老师改卷的场景吧。
- 你做的试卷就像仓库,你的试卷肯定会有很多错误,就相当于程序里的 bug。
- 老师把你的试卷拿过来,相当于先 fork。
- 在你的卷子上做一些修改批注,相当于 git commit。
- 最后把改好的试卷给你,相当于发 pull request.
- 你拿到试卷重新改正错误,相当于 merge。
当你想更正别人仓库里的错误时,要走一个流程:先 fork 别人的仓库,相当于拷贝一份,相信我,不会有人直接让你改修原仓库的clone 到本地分支,做一些 bug fix发起 pull request 给原仓库,让他看到你修改的 bug原仓库 review 这个 bug,如果是正确的话,就会 merge 到他自己的项目中至此,整个 pull request 的过程就结束了。理解了 pull request 的含义和流程,具体操作也就简单了。
以 Github 排名最高的 https://github.com/twbs/bootstrap 为例说明。
- 先点击 fork 仓库,项目现在就在你的账号下了
- 在你自己的机器上 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
- 完成修改之后,回到 test-pr 分支,点击旁边绿色的 Compare & pull request 按钮
- 添加一些注释信息,确认提交
- 仓库作者看到,你提的确实是对的,就会 merge,合并到他的项目中以上就是 pull reqesut 的整个流程,希望对你有帮助~
GitHub中的Fork、Pull Request、Merge都是个啥意思?相关推荐
- GitHub中的fork,star,watch都是什么意思
fork:从别人的代码库中复制一份到你自己的代码库,其中包含了原有库中的所有提交记录,fork后这个代码库是完全独立的,属于你自己,你可以在自己的库中做任何修改,当然也可以通过Pull Request ...
- 如何在github上提交PR(Pull Request)
github 上有很多优秀的开源项目,很多时候我们不仅仅只是满足于使用,同时也想一起参与开源项目的开发,贡献自己的代码.今天这篇文章就给大家介绍一下如何在 github 上提交 PR,让我们一起为开源 ...
- [转]Github 中被 Fork 最多的库
Github自从2008年上线以来,发展迅速,目前已经成为最流行的代码托管站点.在Github中,开发者除了可以托管自己的项目源码外,还可以Watch(关注).Star(加星).Fork(复制一份). ...
- 如何在github上发起一个pull request
要在github上贡献自己的力量,就要了解github的协同工作模式,就是pull request的使用 注册一个github账号 打开github主页,注册一个账号. 安装客户端 客户端你可以安装原 ...
- 【提交PR】如何在 GitHub 提交第一个 pull request
什么是复刻(forking)? 我们可以通过复刻操作将喜爱的仓库保存自己的GitHub账户中,以便独立地对其进行操作. 通过复刻,我们可以得到包含完整版本历史的目标仓库的实例,之后可以对复刻得到的仓库 ...
- 如何在github上发起一个pull request,如何贡献代码,参与开源项目
点击页面右上角的 "fork" ,把你关注的项目fork到你自己的账号下了. 把项目克隆到本地 修改并push 回到你的github界面,发起请求: 在自己fork的库处新建请求: ...
- [转]github中,fork了别人的项目之后,如何将别人新增的分支同步过来?
转载说明: 文章转载整理自https://segmentfault.com/q/1010000004228020 文章目录 问题概要 解决方案 编者后话 问题概要 在项目的仓库中,有一个项目A,我将它 ...
- github pull request那些事
什么是Pull Request? 网上有人用老师批改卷子这件事来解释什么是Pull Request,觉得挺形象的,变拿来用了: 你做了卷子(好比你创建了一个github仓库),老师收取你的卷子(好比f ...
- Github pull request 工作流总结
github 上面有很多非常不错的开源项目,我们也可以向其贡献自己的代码,那么我们如何提交自己的代码给开源项目呢?这里就要用到 pull request 的提交方式.当然,基于 git 的其他平台也是 ...
最新文章
- 500分求助,delphi里用standred来配置dbf文件
- 用友服务器显示禁用,包头用友 U6 运行时提示端口4630 被禁用 或者 1433端口不通...
- 常用的sublime text 3插件
- Kinect SDK v1.7 新特性、交互框架与新概念
- Djang drf:APIView源码分析
- Lua1.0 代码分析 table.c
- 2019小程序没必要做了_2019年什么行业适合做小程序
- 用户故事与敏捷方法—一些用户故事(实战二)
- win10易升计算机丢失,易升win10害死人|win10易升怎么关闭
- SAN:存储区域网络及其协议
- XP系统屏幕倒立翻转了怎么办???
- 3-6指针与数组的天生姻缘
- 普通浏览器打开微信页面出现验证的解决方法
- python将字符写入excel_Python 爬虫并且将数据写入Excel
- 可移除 否_用友软件U861质量管理培训 免费阅读可下载
- 源代码的学习(如何学习)
- 基于物联网区块链技术构建智慧城市价值生态
- 程序员常用的网站(转)
- element ui table表格轮播
- python 循环遍历0-9,a-z
热门文章
- 如何在IDEA创建新的项目
- 【Android TV 开发】-->Leanback 中的 HorizontalGridView
- LaTeX 中的特殊符号
- java strtotime_php 深入理解strtotime函数的使用详解
- 余宏波 计算机网络,快速学习技术的理论构建与实证研究
- Python 小工具:调用「百度翻译API」实现英汉互译及多语言翻译
- html视频播放后自动跳转到页面,【Web前端问题】html视频播放完后跳转
- CTFT DTFT DFT ZT 这些变换之间有什么联系和区别
- 用Python做一个高山滑雪小游戏
- ASP.NET读取Excel中的数据转存到数据库(二)