首页 > 手机 > 配件 > SVN与Git的区别,svn和git的区别

SVN与Git的区别,svn和git的区别

来源:整理 时间:2022-04-05 05:20:39 编辑:华为40 手机版

版本master分支文件覆盖暂存区和工作区-gitcheckoutHEAD,会用HEAD指向的master分支中的全部或者部分文件替换暂存区和以及工作区中的文件。至于svn,目前我用的极少,操作比git简单,两者区别:GIT是分布式的,SVN只有一个中央版本库。

如Git、SVN这类版本控制工具的原理是什么,以及如何操作?

如Git、SVN这类版本控制工具的原理是什么,以及如何操作

Git是Linus之父 Torvalds 为了管理 Linux 内核代码设计而开发的一个开源的版本控制系统。Linux核心的开发迭代是由众多分散的程序员完成。当时大家常用的代码管理工具BitKeeper,因为不开源,引起我们的linux大佬强烈的不满,但又赞许BitKeeper的优于其他工具的分布式架构,索性Torvalds自己开发了代码管理工具,就是GIT。

听说从无到实战部署只花了10天时间。而GIT与Svn最核心的区别就是GIT是分布式架构平台。而相对于Svn只是一个单纯的文件版本管理系统而言,GIT更是一个内容管理平台,版本控制甚至只是一个次属功能。我们了解GIT的结构就大致知道其工作原理。git分3个数据存储区:工作区:存放项目文件。暂存区:临时存放的改动数据,即将提交到仓库。

git仓库:最后存放文件版本的仓库。工作原理及主要操作命令:对工作区修改(或新增)- git add 。暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到一个新对象,而该对象的ID被记录在暂存区的文件索引中。 执行提交操作 - git commit。暂存区的目录树写到版本库中,master 分支会做相应的更新。

即 master 指向的目录树就是提交时暂存区的目录树。重置暂存区 - git reset HEAD。暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。 删除暂存区 - git rm --cached 。会直接从暂存区删除文件,工作区则不做出改变。暂存区文件覆盖工作区 - git checkout 。

会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。 版本master分支文件覆盖暂存区和工作区 - git checkout HEAD ,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令极具危险性:因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

至于svn,目前我用的极少,操作比git 简单,两者区别: GIT是分布式的,SVN只有一个中央版本库。 GIT把内容按元数据方式存储,而SVN是按文件方式。 Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以。 GIT没有一个全局的版本号,而SVN有,此点是svn的优点。SVN只能有一个指定中央版本库。

文章TAG:SVNGitsvngit

最近更新