这里不谈分布式那么大的概念.常规的VCS都是集中式的,一般日常来用就是某一个人锁了一段代码另一个人就不能用,这么一来大家就不会发生冲突.这个模式我觉得很好,比起分布式那麻烦的merge,branch来说,集中式VCS非常便于管理,而且节省人力.有个朋友在Q里对我抱怨他们公司git的merge用起来很头疼,问题不在于git的使用,而是对代码的维护,每个人都写同一份源文件,最后合并起来是个问题.当然,他们主要是基于某一个主线开发微小变种,这么依赖merge约束就变的小了些.但是始终都需要人去维护,分布式的VCS虽然早就出现但是因为实际上需求不是很大,大多数公司,很少有人会专门负责merge,同时编程这种东西,如果你写代码还要考虑方不方便别人去merge,很限制思路.所以从毛线团中解脱出来的最好办法就是继续用svn这种集中式VCS.
最近个人全面用上Mercurial,从local到remote store.它的前身是hg,大家称之为"水银".它个我的感觉就是非常轻巧,用起来很爽.因为我是自用,不是公司里.所以我可以方便的merge,但是其实我基本不会用到这个功能,除非打算跟别人合作.
用他我只需要做几件事(我用的命令行,你可以尝试乌龟版的水银):
1.随便找个你想当容器的地方 init下
2.用add加你想版本控制的代码.
3.以后想覆盖就commit,想提取就pull
4.这些就是基本使用,想玩复杂的,可以参考官方文档,hg一样可以满足你!
下面是官方,推荐下: