svn - 存储库中的分支是什么?

标签 svn git bazaar mercurial

根据我对 subversion 的理解,如果你有一个包含多个项目的 repo,那么你可以在该 repo 中分支各个项目(参见 SVN Red book - Using Branches)

然而,我不太理解的是,当您在其中一个分布式系统(Git、Hg、Bazaar - 我认为哪个不重要)中创建分支时会发生什么。您可以只对存储库的一个子目录进行分支,还是在创建分支时对整个存储库进行分支?

这个问题是我在 super 用户 ( choice and setup of version control ) 上发布的一个更大问题的一部分,它是在我试图找出如何最好地控制独立项目的大型分层布局的版本时出现的。

对于分布式系统来说,我想做的事情最好由某种子项目机制来处理——但这又是我不清楚的事情,尽管我听说过关于混帐。

最佳答案

使用 bazaar,如果您在共享存储库中创建两个分支,那么它们的任何共同历史都存在于存储库中,而不是分支本身——分支只是引用它。这为存储库节省了磁盘空间,这些存储库具有相同项目的许多分支以实现不同的功能,并加快了新分支的创建(您不必复制包含分支历史记录的文件)。自从我查看 hg 和 git 以来已经有一段时间了,但我不相信它们具有与此相同的功能。

Bazaar 没有子项目。分支是一个完整的、连续的单元。你不能分支它的一部分。不过,我相信 git 和 hg 都有子分支。

关于svn - 存储库中的分支是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2921305/

相关文章:

svn - 我的脚本是否必须更新 svn 服务器?

Git:停止 git push

java - bazaar作为版本控制工具怎么样?

git - bzr 相当于 git clone --depth HEAD 是什么

mysql - Fusion Table 与 google 电子表格同步

c# - 使用 SharpSvn 获取 "mergable revisions"

svn - 备份本地修改的和新的源文件

git - git 别名中的 AWK 语句

Git无法用干净的方式删除

git - 像 perforce 一样具有 "pending changesets"的 DRCS(git、bzr、merc)?