我写了一些实验性的代码,想要将其保存到代码库中,但不想放到主分支上。你该如何提交到一个分支中?
也许我理解有误,但据我所知,分支其实就是将已经检入的代码复制到存储库中的另一个目录。我想可以将主分支复制到另一个位置,然后将工作副本的存储库位置指针指向那个位置,再提交实验性代码。但这似乎有点繁琐。这就是你真正要做的吗?
确实,这就是在Subversion中完成此操作的方法。例如:
svn cp svn://server/repo/trunk svn://server/repo/branches/experiment svn switch svn://server/repo/branches/experiment svn commit -m "testing stuff"
Subversion中的cp
(复制)操作设计得非常便宜,并且实际上并不会再次复制存储库中的所有代码。它只是设置指针指向从trunk
复制的修订版本。
并非所有系统都是这样工作的;例如,在Git中,您可以使用一个命令创建一个新分支并切换到它:git checkout -b experiment
。
据我所知,大多数带有图形用户界面的 SVN 客户端(例如 Tortoise、Subclipse、SvnX)都有一个分支命令可以为您完成魔法。
否则,请参见 Greg 的答案。