前言:之前的一篇文章介绍了如何搭建自己的Git服务器,在自己搭建的Git服务器上,多人合作一般都采用创建证书登录方式(文章中也有介绍),即简单又方便。今天主要介绍Github上多人合作的开发方式。
Github多人合作开发方式主要分两种:Collaborators
Fork & Pull request
本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。
1、Collaborators:
使用场景:
Collaborators适用于一个Team之间的团队开发。比如张三有一个项目,Repo地址为ZhangSan/RepoA,这时张三就可以邀请自己的项目组成员或小伙伴一起开发这个项目了。
怎样邀请:
进入Repo,点击Settings-> Collaborators-> Add collaborator 即可邀请。
clone及push代码:
被邀请的开发者clone地址为:https://github.com/ZhangSan/RepoA,开发者修改代码(branch、commit、merge、push),push后会更新ZhangSan/RepoA。
第一次push代码时需要输入自己的账号密码进行验证,如果账号在Collaborators中,就可以push成功。
2、Fork & Pull request
使用场景:
Fork & Pull request方式适用于开源项目。比如张三有一个很牛的开源项目,Repo地址为ZhangSan/RepoA。李四看着不错想做点贡献,就Fork一个到自己的Repo中,地址为LiSi/RepoA。
clone及push代码:
李四clone地址为:https://github.com/LiSi/RepoA,李四可以任意修改该仓库的代码(branch、commit、merge、push),push后只会更新LiSi/RepoA,任何操作都不会影响ZhangSan/RepoA。
化学反应:
有一天,李四开发了一个不错的功能,想推荐给张三,就可以在自己Fork的仓库LiSi/RepoA里发一个pull request,问问张三要不要。
提交后张三的仓库ZhangSan/RepoA将会收到一个pull request。张三如果觉得不错,就可以将LiSi/RepoA Merge ZhangSan/RepoA,如果觉得有问题,也可以用comment讨论。(ZhangSan/RepoA 所有的Collaborators都可以处理)
交友互动: