长达 70 分钟的一个视频, Linus 在 google 内部的一个关于 SCM/GIT 的演讲, 其中他说:
1. CVS 是可怕滴
2. SVN 的方向是错滴, 无意义滴..
第一次见识 Linus 的演讲, 很有意思 :)
那天晚上准备 1 点多睡的, 看上了, 就停不下到 3 点了...
关于 GIT 这样非中央服务器, 分布型的源码管理软件, slashdot 上有个哥们给了一个很实际的能体现它好处的例子:
Distributed version control gaining ground in FOSS (Score:5,
by Black Acid (219707) Alter Relationship on Sunday June 03, @11:24AM
The ultimate reason why Linus dislikes SVN, CVS, etc. is that it is
centralized. Everyone checks out source from a central server and
commits their changes to the same centralized area. This has problems:
your workspace is not versioned. By this I mean, you cannot track
local changes to your workspace without committing them to the central
A common pattern in development is to try one approach, test it, tweak
it, and possibly try another approach if the first did not work out,
perhaps reverting to a prior approach. With decentralized version
control, you can commit your changes to a local repository and work
from there. All the locally changes you make are versioned, and be
committed, checked out, examined all without contacting a central
repository. This is ideal, because you often want to try various
options to find the one that works best, before pushing your changes
to the rest of the world. In centralized version control, you can use
a branch for this purpose, but often branches in these systems are
difficult to either create, merge, or maintain, so they are rarely
used. The end result is that with centralized version control,
developers version their workspace in their head. DVCS systems remove
the mental burden.
试试 git 吧!