相关主题
git很好很强大
Apr
12008
最近把版本管理系统换成git了,果然非常好用,难怪大家都在推荐。
首先不要有心理障碍,那些名词都是吓唬人的。所谓的“非线性开发”无非是指强大的branch和merge的能力,“分布式版本管理”就是说每人自己都有一套本地的repository,不存在一个集中的版本服务器。
给我带来的最直接的好处有:
- 傻瓜都会的初始化,git init, git commit -a, 就完了。对于随便写两行代码就要放到SCM里的人来说,再合适不过。也可以拿git做备份系统,或者同步两台机器的文档,都很方便。
- 绝大部分操作在本地完成,不用和集中SCM服务器交互,终于可以随时随地大胆地check in代码了。
- branch管理容易多了,无论是建立新的branch,还是在branch之间切换都一条命令完成,不需要建立多余的目录。
- branch之间merge时,不仅代码会merge在一起,check in历史也会保留,这点非常重要。
工具之所以好,除了方便好用,还在于它帮助并鼓励你做正确的事情。频繁check in是一件很好的事情,好处我不多说了,git就鼓励你频繁check in。branch也是一件好事情,我们大多很怕branch因为它太麻烦了,去掉这层心理包袱,branch可以让我们的开发工作很有条例。
还有一些实用的功能,比如bisect,用二分法来寻找regression,你以前手动做过这种事么?我做过。以后如果要做就不会怕了。还有stash,做hot fix非常方便。
如果正在用svn,劝服所有合作开发者使用git之前,可以先用git-svn,和svn整合得非常好。
分布式版本管理系统取代集中式版本管理系统,只是时间的问题了。







和SVN相比有什么优点?
我在Windows下用SVN,相关Shell软件支持还不错,有何Windows Explorer结合的Tortoise SVN,Visual Studio也有Ankh SVN extension,不知道GIT有没有相关Shell。
现在好像是SVN用的最多了 呵呵
git-svn弄起来比较麻烦的
svn的perl绑定不好弄
[...] 目前,Git也获得越来越多国内开发者的认可,并在项目开发中尝试使用Git来进行源代码的版本控制管理工作。对于使用Git所带来的好处,国内的开发者Robin Lu在Blog中这样评价道: [...]
回Morgan,和svn比较的优点,可以再写一篇了,呵呵,下次再比较。软件支持方面,git本身带一个gui界面-gitk,我很少用gui界面,所以对我来说关系不大。各种ide的支持可能需要时间,mac下TextMate已经支持,用起来很方便。
回stainless,不知道你说的git-svn麻烦指什么方面?我现在就在用git-svn,还没碰到什么麻烦。
git-svn 要求svn安装时装上perl绑定
如果源码编译安装svn很麻烦的
我在tiger上没有搞定,搜索下载了个编译好的
把其中的perl绑定放到perl的lib目录就行了
不过用git-svn访问需要密码认证的代码库还是没搞定
很感兴趣
观望中
大家可以试试国内提供git服务的
http://www.githost.cn