作为版本号控制工作. 两者的做大的差别应该在于: Git 属于分布式版本号控制工具, 而 SVN 属于集中式的版本号控制工具. 分布式的优点是什么呢? 举个样例来说. 当你在火车上离线状态下编程工作, 在某个阶段会须要先保存正确的代码状态 (以便兴许出问题时能够回滚). 再開始兴许的编码, 这个时候 Git 就会发挥它的优势. 由于它的分布式特性, 能够同一时候拥有远程仓库和本地仓库, 在火车上. 即使不联网, 也能够将程序的改动 commit 至本地的仓库, 在联网的条件下再 push 到远程仓库中. 而 SVN 由于是集中式的控制管理, 所以它的每一次 commit 都须要联网提交至 server 端.
除了上面的描写叙述的优势. git 还有其它让人喜欢的特点:
git 仅仅在仓库 (repo) 的根文件夹下创建. git 文件夹, 而 svn 会在每一个文件夹下创建. svn 文件夹 (会产生更大的记录内容)
当你删除或是移动仓库内的某个文件时, git 会帮你识别出详细的操作, 而 svn 须要人为的指出
程序在编译过程产生的文件, 如. pyc. 假设不想提交至仓库. git 能够在根文件夹下指定, 从而运用到子文件夹. 而 svn 就不 easy 做到这一点
如今越来越多的人使用 git. 它的风头也渐渐盖过了 svn, 而当我在某游戏公司实习时. 却意外发现了 svn 的优势. 前面讲到, git 是一种分布式的版本号控制工具, 支持远程仓库和本地仓库, 因此也就添加了使用的复杂性. 与远程交互用 push/pull, 与本地交互用 commit/checkout, 并且它也缺乏好用的 client. 我们的游戏开发. 须要策划, 程序猿, 美术协同工作, 尽管程序猿接受 git 的使用相对简单, 可是要给策划, 美术做培训须要时间, 人力的成本, svn 以它简单操作的优势. 在公司内部盛行. 并且, 它有一个非常好用的 client: TortoiseSVN
来源: http://www.bubuko.com/infodetail-2484151.html