优点:
1.分布式开发时,可以git clone克隆一个本地版本,然后在本地进行操作提交,本地可以完成一个完整的版本控制。在发布的时 候,使用git push来推送到远程即可。
2.git分支的本质是一个指向提交快照的指针,速度快、灵活,分支之间可以任意切换。都可以在本地进行操作可以不同步到远程
3.冲突解决,多人开发很容易就会出现冲突,可以先pull远程到本地,然后在本地合并一下分支,解决好冲突,在push到远程即 可。
4.离线工作,如果git服务器出现问题,也可以在本地进行切换分支的操作,等联网后再提交、合并等操作。
缺点:
1.git没有严格的权限控制,一般是通过系统设置文件的读写权限来做权限控制。
2.工作目录只能是整个目录,而svn可以单独checkout某个有权限的目录。
3.git上手可能没有svn那边顺手,需要经过学习一下。
总结:
1.如果对访问控制、权限分配和代码安全性等要求比较高的,建议使用svn。
2.如果是分布式,多人开发,版本迭代比较快的项目,建议使用git。