平时用git比较多,突然老师让装SVN,所以就了解了一下git和svn的区别
Git是分布式,但是Svn不是
Git
跟Svn
一样有自己的集中式版本库和Server端,但Git
更倾向于分布式开发,即使没有网络也一样可以Commit,查看历史版本记录,创建项目分支等操作,等网络再次连接上Push到Server端。
Git把内容按元数据方式存储,而Svn是按文件
Git
和Svn
都是把文件的元信息隐藏在一个.git
和.svn
文件夹里。.git
目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。所以.git
文件和.svn
文件相比大很多。
分支不同
Svn
的分支是一个完整的目录,如果工作成员想要开啟新的分支,那将会影响整个项目,每个人都会拥有和你一样的分支。而Git
可以随意创建分支,只要不合并到master
分支,则并不会影响到其他人,不想要的时候可以直接删掉。
Git的内容完整性要优于Svn
Git
的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
版本库
Svn
只能有一个指定中央版本库。当这个中央版本库有问题时,所有工作成员都一起瘫痪直到版本库维修完毕或者新的版本库设立完成。而 Git
可以有无限个版本库。
感觉比较常用到的点就这些了吧,欢迎提出您宝贵的意见。