git的理解

来源:互联网 发布:拍小票返利是什么软件 编辑:程序博客网 时间:2024/05/16 19:45

过去一直用svn,所以刚开始用git的时候难免一直在里面找svn的影子,但是这样上手很难。

首先要从思维上完全转变,这样才能真正了解git, 首先svn有一个server,然后大家都是client,这样的模式很容易理解,但是git完全不一样,大家都是server,彼此的关系是平等的,每个server都有自己的一整套的history,做个比方,svn就是一个集权政府,一个人说了算,但是git是个民主政府,自己说了算,因为git的这种文化,使得他在开源项目上很受欢迎,另外svn还有一个重要的的不足是,因为只有一个server,大家都在同步这个server,如果公司有很多分部在不同地区,同步的速度会极其的慢,这个深有体会。

所以要理解git,首先要确立于svn不同的思维不再需要一个主要的server了。处处都是server,每个server都是平等的,不要总是想着我要把我的东西提交到server上面去,应该想如果别人有需要用到你的东西,他自然会来poll。


名词解释:

Bare:

git的源有两种一种是bare,另外一种是正常使用的,bare顾名思义就是纯粹的代码库,不带有自己编辑的workspace,比如像github就使用这样的模式,另外一种是可以编辑的源,一般不建议像非bare的源去push,这样可能会导致很多不确定性,这样就破坏了git一脉相承的传统。