代码托管是什么
代码托管是指在线代码托管服务,常用的代码托管平台包括Github、码云(Gitee)、Gitlab、腾讯Coding等。代码托管的目的是解决软件开发过程中存在的一些问题,例如跨地域协同、多分支并发、代码版本管理、安全性等。
1.代码托管概述
代码托管是面向软件开发者的一种基于Git的在线代码托管服务,即提供具备安全管控、成员/权限管理、分支保护/合并、在线编辑、统计服务等功能的云端代码仓库。
Git存在两种类型的仓库:本地仓库和远程仓库。那么如何搭建Git远程仓库呢?就是借助互联网上提供的一些代码托管服务来实现,其中比较常用的有Github、码云Gitee、Gitlab、腾讯Coding等。
2.代码托管平台介绍
Github:是一个面向开源及私有软件项目的托管平台,因为只支持Git作为少数的版本库格式进行托管,故名gitHub。
码云(Gitee):是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快。码云的代码托管是软件众包平台实现开发行业共享经济新模式的圆心,围绕代码托管将可以广泛地通过开源中国众包实现软件众包。
Gitlab:GitLab 利用Ruby on Rails 开发,据说较早也用过Github 进行托管,后独立发展为知名的代码托管平台,同时支持SaaS 版和自管理的私有化部署版本,由于其丰富的代码协作管控能力,备受企业青睐,不过因为是国外的平台,云服务的访问速度还是存在慢和不稳定的问题。
腾讯Coding:是面向软件研发团队的研发协作管理平台。该平台本来专注做代码托管,产品比较小而美,很适合个人开发者使用,正因为迎合年轻开发者的形象,所以其LOGO 是个可爱的小猴子(程序猿)。然而在2019 年被腾讯收购成为其全资子公司后,开始转型做企业服务,将个人空间升级成为了团队空间,陆续加入了测试、持续集成、制品库、部署管理等模块,也支持对接腾讯云账号体系了,功能维度逐渐丰富,虽然有的功能模块能力还相对简单,但是支撑小团队的简单研发场景是完全没问题的。
3.代码托管的特性
首先,代码托管服务可提供在线代码阅读、修改、提交,开发者可以随时随地工作,不受地域限制。其次,在线分支管理,包含分支新建、切换、合并,实现多分支并行开发,提升开发效率高;再次,分支保护可防止分支被其他人提交或误删;最重要的是,代码托管可以实现IP白名单地域控制和支持HTTPS传输,从而拦截不合法的代码下载,确保数据传输安全性。
此外,代码托管还支持重置密码,可解决用户忘记密码之忧。
4.代码托管的工作模式
代码托管主要采用Git Flow作为基础工作模式。Git-Flow提供了一组建议,通过严格执行这些建议的规则,帮助中小型研发团队,能够更好的规范自己的开发工作,具体如下:
并行开发:各个特性与修复bug,可以并行。
团队协作:多人开发过程中,大家都能够理解其他人的当前工作。
灵活调整:通过hotfix分支,支持各种紧急修复的情况。
master分支:最为稳定,功能比较完整,随时可发布的代码。
develop分支:用于平时开发的主分支,并一直存在,永远是功能最新较全的分支,包含所有要发布到下一个release的代码,主要用于合并其他分支。
feature分支:用于开发新的功能的分支,一旦开发完成,通过测试,合并回develop分支进入下一个release。
release分支:用于发布准备的专门分支。
hotfix分支:用于修复线上代码的bug。
延伸阅读
托管与非托管代码的区别
名列前茅,托管代码是一种中间语言,运行在CLR上;而非托管代码被编译为机器码,运行在机器上。
第二,托管代码独立于平台和语言,能更好的实现不同语言平台之间的兼容;非托管代码依赖于平台和语言。
第三,托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这些操作;非托管代码需要自己提供安全检测、垃圾回收等操作。