SVN与Git的区别
1、Git是分布式的,而SVN不是分布式的
2、Git把内容按元数据方式存储,而SVN是按文件
3、Git没有一个全局版本号,SVN有
4、Git的内容的完整性要优于SVN: GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏
5、Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以
6、SVN必须先Update才能Commit,忘记了合并时就会出现一些错误,git还是比较少的出现这种情况
7、克隆一份全新的目录以同样拥有五个分支来说,SVN是同时复製5个版本的文件,也就是说重复五次同样的动作。而Git只是获取文件的每个版本的元素,然后只载入主要的分支
8、版本库(repository)
SVN只能有一个指定中央版本库。当这个中央版本库有问题时,所有工作成员都一起瘫痪直到版本库维修完毕或者新的版本库设立完成。每一个Git都是一个版本库,区别是它们是否拥有活跃目录(Git Working Tree)。如果主要版本库(例如:置於GitHub的版本库)发生了什麼事,工作成员仍然可以在自己的本地版本库(local repository)提交,等待主要版本库恢复即可。工作成员也可以提交到其他的版本库
9、分支(Branch)
在SVN,分支是一个完整的目录。且这个目录拥有完整的实际文件。如果工作成员想要开启新的分支,每个人都会拥有和你一样的分支。每修改一次,其他人都要重新切分支重新下载。而 Git,每个工作成员可以任意在自己的本地版本库开启无限个分支。只要不合并及提交到主要版本库,没有一个工作成员会被影响。等到不需要这个分支时,只要把它从本地版本库删除即可。Git的分支名是可以重命名的。例如:我的本地分支名为OK,而在主要版本库的名字其实是master。
10、提交(Commit)
在SVN,当你提交你的完成品时,它将直接记录到中央版本库。当你发现你的完成品存在严重问题时,你已经无法阻止事情的发生了。如果网路中断,你根本没办法提交!而Git的提交完全属於本地版本库的活动。而你只需“推”(git push)到主要版本库即可。Git的“推”其实是在执行“同步”(Sync)
最后总结一下:
SVN的特点是简单,只是需要一个放代码的地方时用是OK的
Git的特点版本控制可以不依赖网络做任何事情,对分支和合并有更好的支持(当然这是开发者最关心的地方)
标签:SVN,Git,版本,区别,本地,提交,分支
From: https://www.cnblogs.com/lixunblogs/p/18167137