代码改变世界

GIT vs SVN

2007-10-23 21:46  atempcode  阅读(2995)  评论(1编辑  收藏  举报

GIT是Linus开发的用来代替BitKepper来管理Linux内核代码的; SVN号称是Better CVS; 这几天公司在选择PVCS的替代系统, 我就负责来对比一下GIT和SVN.

下载了Fedora, 完全安装. SVN就已经自己带了, GIT安装也很方便:

yam insatll git

就可以了.

两者的设计思想有根本不同: SVN还是会有一个中央库, 是client/server模式; 而git没有一个中央库. 你同步code的同时同步了整个repository. 每个库的重要性是一样的. 这种模式对我这种熟悉了CVS的人来讲是有个比较陡峭的学习曲线的.

Troubleshooting:

1. 安装完SVN后, 本地用svn://ipaddress 能够checkout code, 换一台机就不行, 错误信息 "No route to host".

Solution: 原因是Linux的防火墙. 编辑iptables或者暂时disable防火墙:

/etc/init.d/iptables save
/etc/init.d/iptables stop

 
2. 用git clone git://... 时报错, server log: Repository not exported.

Solution: 1. 在git文件夹里创建一个叫 git-daemon-export-ok的文件

或者 2. git-daemon --export-all