如何利用 github 进行多人协作开发

2,695 阅读2分钟

yancy-min-842ofHC6MaI-unsplash.jpg

图片来源 unsplash.com/s/photos/gi…

写这篇文章主要是想了解一下开源项目怎样进行多人协作开发,顺便也加深自己对 git 代码管理的理解。

github 项目添加 collaborators

Collaborators 类似于 Team 模式 ,Repository 的拥有者可以直接添加合作者到自己的仓库中, 让合作者拥有几乎等同拥有者的权限。

添加成员

项目的拥有者 A 想要合作者 B 参与到该团队的团队开发中, 于是 A 邀请 B 并成功添加B到该项目中,这样作为合作者 B 便能贡献代码了。

WeChatbcc8cc48ff50f8192869062a215091d0.png

截屏2021-04-04 下午6.13.01.png

Fork & Pull Request

Fork

GitHubFork 是服务端的代码仓库克隆,包含了原来的仓库所有内容,如分支、Tag、提交,如下图

WeChat226a86d2838ab7684b043e67d8611f1a.png

Pull Request

Pull Request 是一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request

创建一个 Pull Request

Fork 项目代码,git clone 下来,修改代码后再推上去,然后进行创建 PR ,如下图所示。

WeChat7a14c7ae3fc2c02e38d0b0908b4b64db.png 这样的话项目就出现了一个 PR ,如下图所示。

WeChatdc53693018e1a4fa451bfdd78486dfd6.png 作为开源项目的管理者, 可以选择 mergerequest 到自己的项目中 , 也可以选择关闭掉该请求。

WeChatb7c4491ec028d97c736ae56794897e9b.png

合并分支

多人协作开发不可避免的要进行合并分支,接下来简单说下分支的基本操作。git checkout -b A ,创建并切换到 A 分支。假如我们在 A 分支完成代码了。git checkout master 切回主分支,使用 git pull origin master 拉取最新代码。使用 git merge A 命令把 A 分支的代码合并到 master 上 ,git push origin master 提交到远程仓库中。

git rebase

git rebase 这个命令笔者在工作中也经常使用,比如说当笔者在 dev 分支写好了代码,我会先去切换分支到 master 上去拉去远程最新代码。然后切回 dev 分支,使用 git rebase mastermaster 最新的分支同步到dev,然后切换到 master 分支,git merge dev 将本地的 dev 分支内容合并到 master 分支,最后 git pushmaster 分支的提交上传。

Code Review

commits 记录

平常做 Code Review 可以通过 commits 代码提交历史来查看,根据代码更改历史可以添加评论,如下图所示。

WeChat85cca9c192c1d0e595de0cca8b3ff4ca.png

pull requests

WeChat977d38c1bd3a80db75ae57db239ee019.png

参考资料

[Git & GitHub] 怎么团队合作多人开发项目