老司机带你玩转git (四) git的协同合作
来源:互联网 发布:date函数的使用方法php 编辑:程序博客网 时间:2024/05/17 09:02
大家都知道,git被戏称为全球最大的同性的交友平台.在这里,不仅能完成各种项目的学习,更能完成各种姿势的学习(呜呜呜呜呜~小火车经过啦).那么为了更好的开车(学习).我想我们有必要学习pull request 这种协同合作方式.
pull request 这专业名词.有点不太好解释,看字面意思还有点拗口.意思说就说:请求拉去更改?emmmmmm?(不是拉去枪毙?)
当我们从别人的项目发现一个bug时,我们正好可以修改它,但是我们又不具备操作别人的仓库的权限.如果推送我们的操作到别人的仓库,就会出现以下的错误.
remote: Permission to EasySoftwareLicensing/software-licensing-php.git denied to xxxxxxx@xx.com
fatal: unable to access 'https://github.com/xxxx/xxxx.git/': The requested URL returned error: 403
那怎么办呢?那就可以通过pull request
啦.我们可以fork
别人的项目,然后clone
项目到本地,本地完成修复bug的操作,push
到我们远程仓库.然后我们在远程上通过pull request
,提交请求告诉别人:”嘿,我发现了你们项目一个bug并修复好了,请求把这次修复并入到你们项目中去.”然后别人看见这个请求,如果同意的话,merge
之后,你就完成了一次pull request
了.其实这个过程就是协同合作,也就我们通常所说的在github上完成自己的贡献.
那我们下面就说说 怎么开车 哦不 怎么学习这种开车的姿势 哦不 怎么学习 pull request
为完成示范,我们假定了有两个用户,一个小明,一个小陈.小陈要和小明进行协同合作,就需要fork小明的仓库.
1.fork小明的仓库
fork中
小陈发现了url地址栏的变化以及有提示的变化
2.小陈clone仓库到本地
3.在本地中修改代码
4.完成add 以及 commit git add gitdemo.md
git commit
5.push 修改到小陈的远程仓库里 git push origin master
远程仓库查看
6.小陈仓库完成pull request
注意查看pull request
的信息
小明登录账号后查看远程仓库的信息
小明对小陈的pull request
进行merge
PS:当merge出现冲突了,请先解决掉冲突,然后merge.
如果出现了冲突,请参考以下步骤.
Step 1: From your project repository, check out a new branch and test the changes.git checkout -b SquirrelWorkpace-master mastergit pull https://github.com/SquirrelWorkpace/gitdemo.git masterStep 2: Merge the changes and update on GitHub.git checkout mastergit merge --no-ff SquirrelWorkpace-mastergit push origin master
merge
之后的结果,如果对结果不满意,或者后悔了,需要重新来,可以点击那个revert按钮.啊哈哈哈哈.
完结撒花
到这了,就可以下车了.同志们,可以下车了.因为接下来,不是开去幼儿园的车.(逃)
- 老司机带你玩转git (四) git的协同合作
- 老司机带你玩转git(二)git的分支特性
- 老司机带你玩转git(三)git常用命令以及注意事项
- 老司机带你玩转git(一)本地和远程仓库
- 老司机带你玩转web service
- 老司机带你玩转linux(二)shell的设置以及新建用户
- 老司机带你玩转linux(一)shell入门
- 带你轻松玩转Git--分布式版本控制系统
- 带你轻松玩转Git--瞬间创建本地仓库
- 带你轻松玩转Git--图解三区结构
- 带你轻松玩转Git--示例操作
- 老司机带你了解Android的handler机制
- 编程老司机的笔记,带你系统学Python
- 老司机带你用MaxCompute和表格存储玩转车联网数据
- 老司机带你用MaxCompute和表格存储玩转车联网数据
- 老司机带你用MaxCompute和表格存储玩转车联网数据
- 高并发处理技术老司机带你玩RabbitMq实现性能倍增
- 高并发处理技术老司机带你玩RabbitMq实现性能倍增
- PAT 甲级 1018. Public Bike Management (30)
- mysql根据.frm和.ibd文件恢复表结构和数据
- 《机器学习》学习笔记chapter2 模型选择(占坑)
- 全排列的递归实现
- 关于真机调试DDMS中的data文件夹打不开的解决方法
- 老司机带你玩转git (四) git的协同合作
- EasyUI框架
- 数据库选型漫谈
- 关于编码(二):ASCII和Unicode
- JAVA8 特性
- poj1258 Agri-Net
- 36. 数据结构笔记之三十六赫夫曼树
- android的权限permission
- Matlab常用工具箱的调用命令