2024年最新软件版本控制,软件推荐及使用教程_软件版本控制系统(1),2024年最新分享复习经验和后台开发面经

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

	- [2. \*\*本地版本控制系统\*\*](#2__8)
	- [3. \*\*集中式版本控制系统\*\*](#3__18)
	- [4. \*\*分布式版本控制系统\*\*](#4__36)
	- * [\*\*Git\*\*](#Git_42)
+ [二、版本控制软件使用简明教程](#_46)
+ - [1. 集中式版本控制系统 -SVN](#1__SVN_50)
	- [2. \*\*分布式版本控制系统\*\*](#2___68)
	- * [把文件添加到版本库](#_83)
		* [\*工作区(Working Directory)\*](#Working_Directory_112)
		* [\*版本库(Repository)\*](#Repository_116)
		* [小结](#_190)

一、版本控制系统分类

1. 版本控制系统的概念

版本控制是指在软件开发过程中对各种程序代码、配置文件及说明文档等文件变更的管理,版本控制系统能够随着时间的推进记录一系列文件的变化,方便以后随时回退到某个版本。版本控制系统分为三大类:

2. 本地版本控制系统

平时开发不使用版本控制系统的情况下,我们习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这种方式需要对项目频繁进行复制,最终整个工作区会比较臃肿混乱且时间一长很难区分项目之间的差异。

为了解决这个问题,人们开发了本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。最流行的是RCS,它的工作原理是在硬盘上保存补丁集(补丁指文件修订前后的变化),通过应用所有的补丁,可以重新计算出各个版本的文件内容。

本地版本控制系统一定程度上解决了手动复制粘贴代码的问题,但无法解决多人协作的问题。

当然还有更加原始的方法,每次都保存所有源代码的文件夹。

3. 集中式版本控制系统

集中式版本控制系统的出现是为了解决不同系统上的开发者协同开发,即多人协作的问题,主要有 CVS 和 SVN。集中式版本控制系统有一个单一的集中管理的中央服务器,保存所有文件的修订版本,由管理员管理和控制开发人员的权限,而协同工作的人们通过客户端连到中央服务器,从服务器上拉取最新的代码,在本地开发,开发完成再提交到中央服务器。

在这里插入图片描述

集中式版本控制系统有许多优点:

  • 操作比较简单,只需要拉取代码,开发,提交代码。
  • 基本解决多人协作问题,每个人都可以从服务器拉取最新代码了解伙伴的进度。
  • 同时管理员可以轻松控制各开发者的权限。
  • 只需要维护中央服务器上的数据库即可。

缺点也很明显:

  • 本地没有全套代码,没有版本信息,提交更新都需联网跟服务器进行交互,对网络要求较高。
  • 集中式的通病:风险较大,服务器一旦宕机,所有人无法工作,服务器磁盘一旦损坏,如果没有备份将丢失所有数据。
4. 分布式版本控制系统

分布式版本控制系统很好地解决了集中式版本控制系统的缺点。首先,在分布式版本控制系统中,系统保存的不是文件变化的差量,而是文件的快照,即把文件的整体复制下来保存,其次,最重要的是分布式版本控制系统是去中心化的,当你从中央服务器拉取下来代码时,拉取的是一个完整的版本库,不仅仅是一份生硬的代码,还有历史记录,提交记录等版本信息,这样即使某一台机器宕机也能找到文件的完整备份。

image-20211107142349671

Git

Git 是 Linux 发明者 Linus 开发的一款分布式版本控制系统,是目前最为流行和软件开发着必须掌握的工具。

二、版本控制软件使用简明教程

这边主要介绍两个软件的使用,分别是SVN和git,分别属于集中式版本控制系统分布式版本控制系统

1. 集中式版本控制系统 -SVN

SVN的安装可以参考这篇博客:SVN下载、安装、配置及使用方法

具体使用方法如下

打开SVN的服务器端,可以在这边新建仓库,新建用户。

image-20211107140256944

再打SVN客户端,登入前面新建的用户,填入服务器仓库和本地仓库。

找到本地仓库文件夹,右键,选择 SVN Checkout

在这里插入图片描述

将服务器的代码同步到本地仓库。

2. 分布式版本控制系统

直接安装git即可。

选择需要管理的文件夹,右键,选择 Git Bash Here或者Git GUI Here即可。

image-20211107141044975

git 命令

通过git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

把文件添加到版本库

言归正传,现在我们编写一个readme.txt文件,内容如下:

Git is a version control system.
Git is free software.

第一步,用命令git add告诉Git,把文件添加到仓库:

$ git add readme.txt

第二步,用命令git commit告诉Git,把文件提交到仓库:

$ git commit -m “wrote a readme file”
[master (root-commit) eaadf4e] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt

为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m “add 3 files.”

添加文件到Git仓库,分两步:

  1. 使用命令git add ,注意,可反复多次使用,添加多个文件;
  2. 使用命令git commit -m ,完成。
工作区(Working Directory)

就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:

版本库(Repository)

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

在这里插入图片描述

前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

0383)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值