对于git的整体运作体系和更多的基本操作和概念并不是非常熟悉,因此恶补一番,把自己的成果和理解整理为一个git使用系列。
我也会不断更新该系列,与大家共勉,也是自我学习迭代的过程。
更多技术文章,全网首发公众号 “极客钛” 锁定 -上午11点- ,感谢大家关注、转发、点赞!
Git使用教程介绍 - 1.Git 起因和背景
1.Git 起因和背景
Git是一个分布式版本控制系统,它使用一个特殊的叫做仓库的数据库来记录文件的变化。
仓库中的每个文件都有一个完整的版本历史记录,可以看到谁在什么时间修改了哪些文件的哪些内容,在需要的时候也可以将文恢复到之前的某一个版本。
Git仓库的结构通常与文件系统的目录结构相对应。当你在文件系统中创建或修改文件时,这些变化可以被Git跟踪和版本控制。
Git的工作目录是文件系统上的实际目录,包含了项目的文件和.git子目录(存储Git仓库数据)。
这就是仓库的概念和修改的文件之间的关系。
如果没有版本控制系统,那么我们就只能通过最原始的方式来管理文件。
比如,将文件按照日期备份出多个副本,或者将整个项目的每个版本都保存在不同的文件夹中。
而当很多项目成员同时在修改同一项目的时候,只能手动合并两个人的修改内容,这样不但低效,而且管理起来也非常麻烦。
版本控制系统就是为了解决这些问题而诞生的,有了版本控制系统,我们就可以跟踪每个文件的变化,让项目成员之间的协作更加高效。
目前,世界上最流行的版本控制系统有两种,一种是集中式版本控制系统,比如svn、cvs等等。另一种是分布式版本控制系统,比如git、material等等。
集中式版本控制系统的工作流程就是将所有的文件都保存在中央服务器上,每个人的电脑上只保存了一个副本。
当你需要修改文件的时候,首先要从中央服务器上下载最新的版本,然后所有的文件都保存在中央服务器上,每个人的电脑上只保存了一个副本。
当你需要修改文件的时候,首先要从中央服务器上下载最新的版本,然后添加你想要的修改内容,修改完成之后再上传回中央服务器。
集中式版本控制器系统的优点是操作简单,只需要“下载->修改->上传”,不需要考虑其他的问题。
但是它的缺点也非常明显,过度依赖中央服务器。如果中央服务器出现故障或者网络连接出现问题,那么所有人都无法工作了。
而分布式版本控制系统就没有这个问题。
每个人的电脑上都有一个完整的版本库,所以每个人都可以在本地进行修改,不需要考虑网络问题,当需要将我们来修改内容分享给其他人的时候,只需要将仓库互相同步一下就可以了。
如图,就是将B2笔记本的绿色文件,同步给其他人。
Git因为免费开源速度快,功能强大,支持离线工作以及强大的分支管理等特性,git已经成为了目前世界上最先进的分布式版本控制系统。
世界上超过90%的开源项目都在使用git的进行版本控制,GitHub、GitLab、Gtiee等网站上托管的开源项目,也都是使用git来进行版本管理的。
因此,对于开发者来说,不论是个人发展,还是企业管理,对git的操作原理有所了解都是必不可少的技能。
我也会将自己的学习以及使用技巧,分几期文章进行介绍,欢迎大家的阅读和指正。