一、参考说明
参考文章一:Github上提交代码(pullrequest)
网址:
https://jingyan.baidu.com/article/358570f64dcdc2ce4724fc32.html
参考文章二:GitHub——Pull Request
网址:http://blog.csdn.net/u012325167/article/details/50635522
参考文章三:Git工作流指南:PullRequest工作流
网址:http://blog.jobbole.com/76854/
二、pull Request(拉请求)
2.0、说明:
我的github用户:Forever99,项目拥有者用户:huayan66
2.1、应用场景1:
我不是这个项目的参与开发人员,而是项目无关人员,
但是由于我看了这个项目后,发现项目不够完美,所以决定完善一下这个项目,但是我的完善操作并不会对原有的项目作修改,而是自己需要经过以下这些操作:
1、先 fork 相应的项目,相当于拷贝一份到自己的github账户下
2、然后再clone到本地分支
3、创建特性分支
4、在该特性分支上进行扩展功能或者修补bug
5、将客户端hello仓库的所有修改同步到github上
6、发起 pullrequest 给原作者(huayan66),让他看到,并决定是否接受你的修改
7、原作者(huayan66)同意接受这个修改【扩展功能】,就会 merge 到他自己的项目中
8、确认提交
9、提交流程结束了,扩展功能合并到了原作者的项目仓库里
从而达到为项目做出一份贡献的目的
1、先 fork 相应的项目,相当于拷贝一份到自己的github账户下
(1)fork前
(2)fork后
2.然后再clone 到本地分支
3、创建特性分支
备注:在GitHub上发送Pull Request时,一般都是发送特性分支。这样一来,Pull Request就拥有了更明确的特性[主题],让对方了解自己修改代码的意图,有助于提高代码的审查效率)
新添加了一个分支:add-new-jpg
目的:说明扩展功能,时新添加一张图片
4、在该特性分支上进行扩展功能或者修补bug
在add-new-jpg分支上添加了扩展功能:添加了一张图片:信息添加的图片.jpg
5、将客户端hello仓库的所有修改同步到github上
同步后结果
6、发起 pull request 给原作者(huayan66),让他看到,并决定是否接受你的修改
【1】点击旁边绿色的 Compare & pull request 按钮
【2】填写功能扩展说明,并发出pull request
7、原作者(huayan66)同意接受这个修改【扩展功能】,就会 merge 到他自己的项目中
8、确认提交
9、提交流程结束了,扩展功能合并到了原作者的项目仓库里
2.2、应用场景2:
我是这个项目的参与开发人员,
在这个项目仓库的某个分支上:add-new-file分支上,添加了在master基础上的新功能:新添加了:nihao.txt文件。希望项目的负责人:Forever99可以将这个新添加的功能合并到master分支上,实现项目仓库的功能扩展。
1、add-new-file分支上添加新功能
2、将gitbub本地客户端的修改同步到github网站上
3、发送pull request(拉请求)
4、项目负责人:Forever99在github网站上看到了自己的一个队友发送了pull request
5、项目负责人:Forever99接收到请求后,统一接受这个修改
(1)点击那个pull request
(2)填写统一合并信息,点击:Merge pull request,即可实现合并拉请求,即:add-new-file分支撒谎那个的扩展功能合并到master分支上,master分支实现扩展功能。
6、确认修改
7、合并完成,删除多余的分支(add-new-file)
原因:add-new-file分支,一开始创建的目的就是为了实现某个扩展功能的,现在master分支上的扩展功能已经实现,所以add-new-file分支可以删除了