赞
踩
Pull requests let you tell others about changes you’ve pushed to a branch in a repository on GitHub. Once a pull request is opened, you can discuss and review the potential changes with collaborators and add follow-up commits before your changes are merged into the base branch.
简单来说,就是请求他人允许合并自己提交的代码的请求。
情景假设:我正在使用一款开源软件,但遇到了bug并手动修复了它,如果我希望软件能采纳我的修复代码,那我就应该执行一次Pull Request。
《GitHub入门与实践》这本书专门搭设了一个网站,让读者可以对其进行修改,尝试发送 Pull Request,非常贴心了。
这次Pull Reques的目标,就是将自己的感想写入源代码,然后发送Pull Request。
记述感想时需要修改 index.html 文件。各位不妨先查看它的源代码,对内容有个印象。接下来就要进行真正的操作啦。
进入源码所在的仓库,点击Fork,就会自动在我的用户下创建一个仓库:
会自动跳转,结果为:
Fork成功了。
先进入工作目录,再clone:
现在别人的仓库我们有了。切换到first-pr目录,first-pr 目录下会生成 Git 仓库:
这个仓库与我 GitHub 账户下的first-pr 仓库状态相同。现在只要在这个仓库中修改源代码进行 push,GitHub 账户中的仓库就会被修改。
接下来就是对其中的内容进行修改。
各位请养成创建特性分支后再修改代码的好习惯。在 GitHub 上发送 Pull Request 时,一般都是发送特性分支。这样一来, Pull Request 就拥有了更明确的特性(主题)。让对方了解自己修改代码的意图,有助于提高代码审查的效率。
1,确认所在分支
其实从天蓝色字体中也能进行确定。但为什么从源码所在的网页和查询结果上看这个仓库有gh-pages分支和move-jquery-from-cdn-to-local分支却没有master呢?书中的解释是:
由于本次我们使用了 GitHub Pages,所以最新代码位于 gh-pages 分支。
2,创建本地特性分支
创建并自动切换到work分支:
3,修改代码
用编辑器打开 index.html 文件,按指定格式添加想表达的内容:
4,提交修改
diff、add、commit好习惯一条龙。
要从 GitHub 发送 Pull Request, GitHub 端的仓库中必须有一个包含了修改后代码的分支。所以需要在pull前创建本地 work 分支的相应远程分支。
创建完成之后,可以通过branch命令和进入网页中个人仓库查看创建的分支及修改的内容:
登录 GitHub 并切换至 work 分支,通过点击差别查看刚刚进行的更改是否正确:
无误后,点击 Create Pull Request:
接下来就是等待项目管理者通过啦:
1,在开发过程中发送 Pull Request 进行讨论
在软件的设计与实现过程中如果想发起讨论, Pull Request 是个非常 好的契机。我们虽然可以像本次示例一样等代码完成后再发送 Pull Request,但在实际开发过程中,这样做很可能导致一个功能在完成后才收到设计或实现方面的指正,从而使代码需要大幅更改或重新实现。
在 GitHub 上,我们可以尽早创建 Pull Request,从审查中获得反馈,让大家在设计与实现方面思路一致,借此逐渐提高代码质量。这个方法在团队开发大型项目时尤其有效,已将 GitHub 运用到实际开发中的团队请务必试一试。
2,明确标出“正在开发过程中”
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。