版本管理Git和SVN的区别

1. 三个概念:工作区,暂存区,版本库

  • 工作区指本地项目文件


  • 暂存区:执行git add命令后会把项目的修改放到暂存区


  • 版本库:本地版本库(只有git才有)和远程版本库

2. Git和svn最大的区别就是集中式和分布式,集中式是指只有一个远程版本库,而分布式有本地和远程版本库。

  • 安全性:对于svn来说,如果存储远程版本库的服务器挂了,所有人的代码都无法提交,甚至丢失版本库。而git则因为有本地版本库而不会有这个问题。

  • 方便性:svn由于是远程版本库,项目的提交受到网络的限制,如果是局域网内的远程版本库虽然没有网络的限制,但在公司外就无法访问了;其次,如果有多人协同开发,修改直接提交到远程版本库,没人审核,造成代码质量参差不齐;最后,如果开发人员在提交修改前想交流下代码,只好通过文件传输传来传去。git在没有网络的时候,可以先把修改保存到本地版本库,等有网络时再提交到远程版本库;其次,git中团队开发项目往往有由一个项目维护者维护的官方版本库,其他参与开发的人员先把官方版本库fork到个人的开放的远程版本库,然后拉取到本地版本库,本地版本库有了修改后再push到个人的远程版本库,最后向项目维护者发送pull请求,由项目维护者决定是否接纳修改,从而保证了代码质量,又因为个人远程版本库是开放的,也能方便交流。


你可能感兴趣的:(版本管理Git和SVN的区别)