繁体   English   中英

svn branch commit - 实验提交

[英]svn branch commit - experimental commit

我已经制作了一些我希望保存在存储库中的实验代码,但我不希望它在主分支上。 你会如何将它交给一个分支机构?

也许我弄错了,但是我对分支的理解,实际上你所做的就是将已经签入的代码复制到存储库中的另一个目录。 我想可以将主分支复制到另一个位置,然后将工作副本存储库位置指针更改为指向该位置,然后提交实验代码。 但这似乎有点啰嗦。 这真的是你怎么做的?

这确实是你如何做到的(至少在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分支不会再次复制所有代码,它只是引用原始代码,并添加新代码的Diff。 分支的另一个好处是,您始终可以将其与源进行合并或同步。 分支只是SVN Repository中的另一个文件夹,如标签或主干。

我建议在切换分支之前创建备份,以防您错误地覆盖现有的更改。

您可以在免费的SVN Book中找到有关SVN分支的命令和更多信息

AFAIK大多数带有GUI的SVN客户端(例如Tortoise,Subclipse,SvnX都有一个分支命令,可以为您提供神奇的功能。

否则请看格雷格的回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM