代码是企业在整个研发活动中非常重要的资产,如果代码出现了问题,那么为客户提供的产品和服务,都会由于这些问题造成不可预知的事故,对企业造成负面影响。所以,如何让代码管理变得更加有序可靠,是广大企业和研发团队亟需重视的问题。
一个企业的研发团队都是由多个开发人员组成的。不同的开发人员技术水平有差异,擅长的领域也有区别,并且软件的开发的过程就是一个多人协作的过程,团队成员使用 Gitee 时间不长,对 git 也在慢慢学习,那么在这个过程中一定会有一些大大小小的意外,下面的这三个情况你一定遇到过:
今天我们就针对上面这三个问题,为大家分享如何通过 Gitee 企业版的代码托管功能解决这些问题,让企业的代码管理变得更加有序可靠。
无论是大企业还是小企业,在最开始,都会困惑于分支模型如何规划。我们最常看到、最常听到的一种分支模型就是上面这张 git-flow 分支模型的图。但 git-flow 的分支模型,并不能适应每一个企业,分支模型和其他的管理模式一样,一个企业需要有适合自己的模式。
企业想要构建适合自己业务特点的分支模型,首先要清楚分支的用途:
从上面这个过程就能看出来,分支模型一定是和开发工作的模式关联起来的,也会随着团队规模和业务特定进行调整,比如说团队给不同客户的版本有差异,就会根据不同的客户版本创建一个分支。适合自己团队特点的分支模型,就是最好的。
我们重要的分支因为开发人员的误操作,导致分支上面的代码不正常,或者重要的分支被删除,这些情况会造成我们企业非常大的损失,会使我们花大量的时间去修复这些问题。所以,Gitee 企业版中也提供了相关的功能,最大程度地避免类似问题的发生。
Gitee 在分支管理中,提供了保护分支的功能,在企业里面,我们可以把开发负责人设置成为仓库的管理员,其他开发人员设置为开发者角色。这样开发负责人就可以将重点分支比如 master 分支和 develop 分支设置为保护分支。
设置保护分支后,拥有开发者权限的普通开发人员,是无法直接将代码提交到保护分支的,并且也无法将保护分支进行删除,只能由拥有管理员权限的用户进行操作,这样就极大地帮助团队将重要的代码版本管控起来,不会受到开发人员意外操作的影响。
作为拥有管理员权限的开发负责人,可以通过设置保护分支规则,授权给其他开发人员代码推送和代码合并的权限。这样可以让团队中的成员来帮助自己进行代码审核,来维护保护分支上的代码,还可以防止分支被误删除的情况发生。
但如果设置了保护分支,普通开发人员无法直接将代码提交到保护分支上面来,那么如何将代码合并到保护分支上面来呢?这就会使用到 Gitee 企业版中的一个重要功能:代码评审(Pull Request)。
开发人员在完成对自己功能的开发后,需要将 feature 分支上面的内容合并到集成开发分支 develop 上面,就需要通过代码评审(Pull Request)功能,把自己开发完成的内容,提交给开发负责人进行评审,在评审通过后,即可把代码合并到目标分支上。
通过代码评审的方式,可以保证团队每一次对重要分支的修改,都能够让开发负责人清晰的看到代码修改的内容并进行评审,并对每一次代码合并的内容进行记录留底,保证代码合入的可靠性。
开发人员通过代码评审功能,创建 Pull Request,选择自己开发任务所在的分支,并选择需要进行合入的目标分支。填写本次提交变更的标题和描述信息,告诉评审人员本次需要代码合入的内容。
开发人员提交时可以选择评审人员,本次合并需要哪些开发人员进行评审。管理员可以通过系统设置进行评审的人员名单。这样,必须在所选的评审人员和测试人员审批过后,代码才可以合并。
在创建代码评审时,可以看到我们本次开发代码时,增加了多少次提交,改动了多少个文件。
填写完成相关信息后,即可创建代码评审请求,评审人员需要对代码合并内容进行评审。
评审人员在看到开发人员提交的代码评审请求后,可以查看代码评审的内容,包含代码评审的描述信息,关联的任务信息,了解开发人员提交代码的背景信息,帮助评审人员更好的评审代码。
在评审时,评审人员最需要的内容就是文件改动信息。评审人员在这里可以看到开发人员提交的分支信息与需要合入到的目标分支上面的所有差异文件,并且修改的内容都会高亮进行标注,使评审人员可以快速定位到需要评审的内容。
在发现问题时,可以直接在代码行间增加评论内容,指出开发人员的代码编写问题,开发人员可以在看到评审人所给出的问题后修复自己的代码。
评审人员可以逐个文件进行审查,添加自己的评审意见,如果代码存在较大问题,可以直接拒绝评审请求,被拒绝的代码无法合入到目标分支中。
开发人员进入到自己创建的评审请求后,可以看到评审人员对自己代码的评审意见,可以根据评审意见进行代码修改。在代码修改完成后重新提交代码。
评审人员需要再次对开发人员提交的代码进行评审,满足合入标准后,可以点击评审通过,即可进行代码合并。点击合并分支后,开发人员完成的代码,即可合入到目标分支上,完成整个代码合入的过程。
完成代码评审,代码合入到目标分支后,代码合入的内容,代码评审的内容,全部都可以在代码评审的历史合并中看到,方便我们后续对代码对变更进行追溯。
我们通过在企业内部建立符合企业开发团队特点的分支模型,并通过 Gitee 企业版中提供的保护分支功能,及最重要的代码评审(Pull Request)流程,可以保证我们通过Gitee 企业版,将代码管理变得更加有序可靠,帮助企业避免因为代码管理方面的混乱所造成的业务损失。