流程为Gihub Flow,本质为PullRequest
内部团队协作流程:
假设A为仓库主人,B为协作者,当然还有其他协作者
1.A指定仓库的settings-》collaboration-》输入用户github-》点击add collaborator,添加了B,这样B拥有了写权限,即需要使团队的每个人都拥有跟仓库主人一样的权限;
协作者会收到邀请链接,打开同意即可;协作者可以在setting -> Repositories最底部看到这个仓库,在github首页是看不到的
2.任意一个人添加分支,用来写新功能的代码
3.在新分支上写好代码,push到github仓库上
4.这时候,团队成员就会收到消息,可以进入讨论:
5.点击Comment on this commit,所有团队成员都能看到此评论
6.这时候,如果有团队成员如果觉得代码不行,需要做一些修改,则可以发表言论,如4
7.发起者可以直接在分支上做修改,然后push即可
8.这时候,经过多次修改,如果大家都满意了,随意一个人都可以点击Merge pull request,合并代码:
9.团队的其他人则需要点击Confirm merge:
10.此时,此话题分支就没有用了,可以点击Delete branch删除:
11.此时,点击master分支,就能看到新功能代码了
12.当然,也可以直接编辑文件,做一些小修改,建议就是要new branch,比较安全
开源项目贡献流程:
1.点击Fork,即复制开源项目到自己的仓库
2.到自己的仓库下找到fork的项目,Clone到本地,进行开发
3.这时候修改完毕后,需要push到github上
4.开源项目主人可以通过Graphs-》Network,就能看到此项目的fork和相关未merge的修改,可以点击进入查看修改
5.此时,可以进行PullRequest,即new PullRequest,进行仓库+分支的对比,如果没有问题,就可以create pull request
6.仓库主人才可以进行Merge pull request,修改者点击Confirm merge
7.修改者完成之后,可以到settings中的delete this repository删除此仓库了,当然,也可以不删,删了的话可以保证下次想要做修改时,可以重新fork,保证此时为最新的代码,原先fork可能经过主人或其他开源贡献者的修改,变成了旧代码
8.当然,对于一些小修改,可以直接点击文件,点击编辑,做了修改之后,Propose file change,然后create pull request即可
这样就贡献成功了