2012-06-25 122 views
2

对于SVN,git的一个好处是“每个人都可以拥有完全备份”作为DVCS。 我不太明白。什么意思是“git完全备份”?

例如,John有一个分支branch_a的git仓库,Peter有另一个branch_b的仓库仓库。 branch_a和branch_b不同,没有同步备份不完整。
由于SVN他们也可以把所有的代码都拉到本地,这是否也是一种“完全备份”?

回答

3

存储库的每个克隆都是完整的..好了,存储库的克隆:它包含每个提交。当你说

如SVN [..]是不是也是一种“全备份”

这是错误的,因为在SVN你只检出特定的修订版本到本地工作区,就这样。尤其是:当您的网络连接中断时,您无法对SVN执行任何操作。因为一个git仓库已经有了所有的提交(只要你不时可以获取所有提交,例如通过git fetch --all),你可以照常工作,稍后再推送到远程仓库。如果有人打破了远程存储库,那么每个开发人员都有其副本。

1

在SVN的“正常”使用情况下,您只能检出一个分支,并且只有最新版本。如果你想要另一个分支,或者一个旧版本的文件,你需要去服务器。您可以检出整个存储库,但只能检查当前版本。如需更多信息,您需要设置存储库复制,这非常复杂,并且绝对不属于常规开发人员工作流程的一部分。

在git中,你可以很容易地得到一个完整从服务器复制所有数据,只需通过正常的结帐程序。你通常从一个“克隆”开始,它拥有一切。即使你只是“拉”一个分支,你仍然可以看到所有内容的完整历史。