概述
版本控制
1、一种记录文件内容变化,以便将来查阅特定版本修订情况的系统,可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换
2、集中式版本控制工具
(1)CVS、SVN(Subversion)、VSS 等
(2)单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新
(3)优点:每个人都可以在一定程度上看到项目中的其他人正在做些什么,而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易()
(4)缺点:中央服务器的单点故障,在服务器宕机时间内,谁都无法提交更新,无法协同工作
3、分布式版本控制工具
(1)Git、Mercurial、Bazaar、Darcs 等
(2)客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库),这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复
(3)服务器断网的情况下也可以进行开发,因为版本控制是在本地进行的
(4)每个客户端保存的也都是整个完整的项目(包含历史记录),每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份
Git
1、一个免费的、开源的分布式版本控制系统
2、易于学习,占地面积小,性能极快,具有廉价的本地库,方便的暂存区域和多个工作流分支等特性,其性能优于 Subversion、CVS、Perforce、ClearCase 等版本控制工具
3、工作机制
(1)工作区:代码磁盘存放目录,添加代码到暂存区
(2)暂存区:临时储存工作代码,提交代码到本地库
(3)本地库:生成历史版本,且无法删除,推送代码到远程库
4、远程库:代码托管中心是基于网络服务器的远程代码仓库
(1)局域网:GitLab
(2)互联网:GitHub、Gitee
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战