git的一个好处是“每个人都可以完全备份”作为SVCS的SVN。 我不太懂。
例如,John和他的分支branch_a有一个git repo,Peter有另一个带有branch_b的git repo。 branch_a和branch_b是不同的,没有同步备份是不完整的 作为SVN,他们也可以将所有代码都拉到本地,它是否也是一种“完全备份”?
答案 0 :(得分:3)
存储库的每个克隆都是一个完整的..好吧,克隆存储库:它包含每个提交。当你说
与SVN一样[..]它也是一种“完全备份”
这是错误的,因为在SVN中,您只能将特定修订签出到本地工作区,这就是全部。特别是:当网络连接断开时,你无法对SVN做任何事情。因为git存储库具有每次提交(只要您不时地获取所有提交,例如通过git fetch --all
),您可以照常工作并稍后推送到远程存储库。如果有人打破了远程存储库,每个开发人员都有一份副本。
答案 1 :(得分:1)
在SVN的“正常”使用中,您只签出了一个分支,并且只检查了最新版本。如果您想要另一个分支或文件的旧版本,则需要转到服务器。您可以查看整个存储库,但同样只能查看当前版本。更多信息,您需要设置存储库复制,这很复杂,绝对不是普通开发人员工作流程的一部分。
在git中,您可以通过正常的结帐程序轻松地从服务器获取所有数据的完整副本。你通常从一个“克隆”开始,它拥有一切。即使您只是“拉”一个分支,您仍然可以获得其中所有内容的完整历史记录。