版本控制是一套系统,按时间记录某一个或一系列文件的变更,查看以前的特定版本。
使用版本控制系统,你可以将文件或者整个项目恢复到先前的状态,还可以对以前的文件进行对比。
本地版本控制系统就是使用简单的数据库来保存文件的所有变更。
RCS是一个常用的VCS工具,在Mac OS操作系统中,只要你安装了开发者工具,就会包含一个rcs命名。RCS回我在磁盘上以一种特殊的格式保存补丁集(文件之间的差异)。通过叠加补丁来将文件恢复到某个历史状态。
为解决不同系统之间的协作,集中式版本控制系统应运而生。这类系统,都有一个包含文件所有修订版本的单一服务器,多个客户端可以从这个中心位置检出文件。
这种方案与本地版本控制系统相比有多方面的优势,比如。所有人都可以一定程度的掌握其他人的进展,管理员可以控制所有人的权限。同时维护一个集中的版本控制系统相比在每台客户机上维护要简单的多。
但是这种方案也有一定的缺陷,就是当服务器单点故障,会导致这期间所有人都不能协作或提交更改,如果中央数据库硬盘受损,且无备份则就一无所有。
为了解决集中式版本控制系统的问题,进而出现了分布式版本控制系统。对于分布式系统来说,客户端不仅仅是检出文件的最新快照,而是对代码仓库的完整镜像。这样子,不论是那个服务器发生故障,每一个客户端都可以使用本地的镜像对服务器进行修复。每一次检出都是对数据的一次完整备份。
除此之外,还可以很好的处理多个远程仓库,可以协同不同的项目。
Git是由Linux开发社区在汲取BitKeeper使用过程中的经验教训的基础上,开发出了自己的版本控制系统。
具有一下的特点。
Git与其他版本控制系统最大的不同在于对待数据的方式。其他大多数版本控制系统以文件列表的方式存储信息。这类系统将其存储的信息视为一组文件以及对这些文件随时间作出的更改。
Git则是将数据视为一个微型的文件系统的一组快照。每次提交或在Git中保存项目的状态时,Git会抓取一张所有文件当前状态的快照,然后存储一个指向该快照的引用。
Git的完整性是通过检验和来保证的,他所采用的校验和机制是SHA-1散列。Git中的所有数据在存储前都会执行校验和计算,随后以校验和来引用对应的数据。
在Git中通常都是忘Git数据库中添加数据,很难执行难以撤销的操作或者将数据删除。
Git的基本工作流如下:
在https://git-scm.com/downloads进行下载安装即可
安装完成后首先我们就要设置用户名和电子邮箱地址。Git的每次提交都会用到这些信息,当然Git不会验证这些东西的真实性。设置命令如下:
git config --global user.name 'myname'
git config --global user.email ***@163.com
如果传入了--global
选项 则后续的项目都会使用这个用户名和地址,如果你在别的项目不想使用当前用户名和邮箱,可以使用不带--global
的命令。
你可以输入git --help
来获取其他命令的信息
当然你可以通过命令来获取关于Git的任何命令的帮助页面,例如:
当去输入 git help config
就会跳转到相关的页面
当然你可以通过命令来获取关于Git的任何命令的帮助页面,例如:
当去输入 git help config
就会跳转到相关的页面
[外链图片转存中…(img-uxIgPoOl-1678625091084)]
当然这是本地文件,不需要网络也可以查询。