赞
踩
git是一种分布式版本管理工具,它记录的是文件变更列表。git可以管理一个仓库,对仓库里面所有的文件增改删都可以用git来跟踪记录。我们可通过git查看所有的记录,还可以通过git来还原之前的版本记录。有git add, git commit, git checkout, git push等常用指令。当然我们还会经常用到 git rm --cashed。
SVN也是一种开源的版本控制系统。这些数据可以放在中央资料档案库中,有checkout, commit, update等指令。svn的优势在于它支持目录权限控制,尤其是在开发大型项目的时候,是非常必要的。然而git没有这种原生功能。在有很多游戏开发的公司里,大型游戏项目不仅有代码,还有很多图片、音乐、建模等各种资源,容易上手。而不同的开发人员对不同的部分需求不同,并不想全部通过git clone获取。笔者有看到有人通过钩子来实现git的文件权限控制, 但是这种方案仍然有导致服务器存储库响应时间过长等问题(详见最后一章反思章节)。
SVN相较于git的缺点主要是:
.git
目录下面记录了本地所有的操作,不需要外联服务器获取操作历史。在公司开发中,我们除了有服务器之外,开发人员与开发人员直接可以相互checkout对方的branch,可以商量代码如何一Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。