使用阿里云效平台的日常 git 协作方式
我们项目的 git 团队协作,都可以用阿里云效平台完成。点此进入到我们的项目的代码库。
下面列举我们的 git 协作方式:
将自己的代码推送到云端
以 vscode 为例子,在你的分支有尚未提交的内容,你应该及时的,迅速地提交自己已经写好的内容。
当前分支存在尚未提交的内容
你可以使用命令来推送,也可以用你 ide 说提供的方式提交。提交方式多种多样。
最保守的提交命令如下:
git push
输入命令后,其命令行输入应该是这样的:
命令行提交的输出结果
及时获取最新的分支变更
作为日常的操作,你应当及时获取最新的分支变更。
使用以下命令从远程仓库内拉取最新更改,并剪除本地仓库内过时的,已经被删除的远程分支。你并不需要在你自己的分支才能操作,在任意一个分支内都可以直接拉取远程仓库的内容。
全部的远程分支都会拉取对应的新内容。
git fetch -p
你在控制台内应该看到这样的效果:
剪除本地 git 仓库过时的分支
前端组无需手动输入命令
如果你是前端组成员,你并需要手动输入该命令。前端项目已经封装好了一个名为 git:fetch
的命令。在 vscode 内点击运行该命令即可。
及时地将自己的修改合并到主分支
作为组员,要及时地将自己的修改从自己的分支内,合并到主分支内。为了避免出错,我们应该使用云效的 pr 功能完成分支合并。
下面以成员功能分支 f1-ruancat
和小组主分支 f1
举例说明,云效 pr 过程如下:
进入到云效的 pr 界面
点此进入 10wms 项目的云效 pr 界面。
云效 pr 界面
点击新建 pr
点击右上角蓝色按钮,新建合并请求
。
新建合并请求
pr 是什么意思?
我们开发圈常说的 pr
全称是 pull request
,中文翻译是合并请求
。
措辞声明
本文一律称呼为 pr,而不是中文全称合并请求
。
选择正确的来源和目标
我们的目的是让自己的修改合并到主分支内。来源选择自己的分支,目标选择对应业务的主分支。
以下图为例子,来源 f1-ruancat
分支,将会把自己的提交合并到 f1
主分支内。
选择正确的分支
认真填写 pr 表单
- 你必须要填写好本次 pr 的标题。
- 简要地填写本次一系列提交的描述。如果你懒,或者是你的 pr 标题足够言简意赅,你可以不写描述。
- 务必选择合适的评审人。一般来说,选择你的组长。你的提交通常由你的组长来完成审核。
选择你的组长而不是自己
在本例子中,这里选择的不是组长,而是一个组员。这里为了演示才选择了自己。
不推荐大家漏填评审人
如果你漏填评审人,那么本次 pr 将不会推送给任何人来审批处置,你的 pr 很可能会晾在这里无人理会,然后拖延项目进度。
- 选择语义化的类标。根据你的提交选择合适的类型。
- 点击确定按钮即可。
填写 pr 表单
作为一个组员,你的 pr 就结束了,接下来你只需要等待云效通知即可。
找到要评审的 pr 仅限评审人、组长
如果你是评审人,或者是组长,你应该阅读一下的内容,学习如何 pr。
首先,如果其他成员主动将 pr 的评审人选择了你,那么你会收到云效邮件通知的。
- 评审人可以筛选自己。默认是筛选自己的。
- 这里表示本次 pr 仅有一位评审人。且没有一个人评审通过。
- 这里表示本次 pr 没有任何评论,也没有任何评论被处理。
在 pr 列表内找到评审待办
认识 pr 评审界面
- 如果有明显的小问题,作为评审人,为了保证代码质量,你应该做出评论,要求成员整改。
可以不填写评论
如果你懒,或者赶时间避免卡进度。你可以不评论。直接到下一步。
- 如果没问题,你应该要点击
通过
按钮。 - 你要先点击
通过
后,才能点击下一步合并
按钮。本次 pr 就结束了。
pr 评审人的界面
通过评审
你点击通过后,底部动态区会增加一条动态。
动态区通过评审
对增量提交做出进一步的评审检查
假设你的组员在对应分支内确实有很多问题,然后你的组员后续有提交,你的评审页面会收到新的待审核版本。你应该要及时审批检查。
如下图,动态栏会增加新的待审核版本。
pr 出现了增量版本
免阅读直接通过
如果你没有在云效内检查全部的文件,云效会提醒你是否要直接通过。如果你赶时间,不在乎质量,你可以通过。
提醒你未阅读
合并、结束本次 pr
我们通常点击第一种合并模式。
选择合适的合并模式
编写本次提交的提交信息
第一种合并模式会创建新的提交。你要填写正确的,语义化的提交内容。
一般来说你并不需要做什么改动。建议你保持原样即可。
填写提交页面
谨慎点选删除对方分支
这里的自动删除源分支,指的是删除来源分支。在本例子中指代的是 f1-ruancat
分支。如果这是一个完善的功能分支,标准做法就是直接选择删除该分支。从此云端仓库将不会出现 f1-ruancat
分支。
对应的组员在下一次拉取远程时,会注意到自己的本地分支没有上游。
你应该和你的组员沟通清楚,让你的组员不要再继续往 f1-ruancat
功能分支提交内容了,这个分支已经结束了。
你的组员应该:
- 删除
f1-ruancat
功能分支的本地分支。 - 在全新的
f1
主分支内,新建全新的功能分支,然后推送到远程,开始新的提交。
在本地完成分支合并并推送到远程 不规范、易翻车、不推荐
如果你对整个项目几乎完全掌控,能看懂组员的代码,并且在合并冲突的时候有效保留双方的修改。那么你可以使用速度更加快的方式完成分支合并。即 pr。
以下面的代码提交为例,现在我要快速将目标分支合并到主分支。
未完全合并的提交
git merge 命令
进入到你的主分支,用 git merge 命令完成合并。
完成合并后可以按照此教程退出修改。
用 vscode 的 gitlens 完成合并
除开直接使用 git merge 命令以外,你还可以使用各种工具完成合并,这里以 vscode 的 gitlens 举例说明:
先进入到目标主分支,在 gitlens 内选择要被合并的目标分支:
选择分支
选择合并方式。我这里默认使用第一个。
选择合适的合并方式。
填写必要的提交信息。我这里是直接关闭该页面。
填写合并信息
完成合并。记得提交合并信息到远程仓库。