我刚刚开始学习如何使用Subversion来构建我的Web应用程序,所以请耐心等待。
以下是我如何设置全部内容:
这是我的问题:
项目本地工作副本的最佳结构是什么?我将经常在分支机构和主干上工作,所以我应该检查整个存储库结构(标签/主干/分支机构)还是只检查主干和每个分支机构分别进入不同的文件夹?
另外,如果我说的如何设置它似乎很奇怪或者做错了,请告诉我(我是新手!)。
答案 0 :(得分:2)
我一直使用svn开关在开发时在分支之间反弹。工作得很好,节省了各种各样的结账的需要(可以在一个工作目录中完成)
以下是文档:http://svnbook.red-bean.com/en/1.0/re27.html
以及关于该主题的简短文章:http://concisionandconcinnity.blogspot.com/2008/04/svn-switch.html
答案 1 :(得分:1)
我喜欢使用--depth immediates
对整个存储库执行sparse checkout。然后我用
svn update --set-depth somedepth
找到我想要处理的部分。您还可以将工作副本的一部分再次“浅”以获得磁盘空间。
由于部分切换工作副本的不良体验,我不喜欢使用svn switch
。当遇到阻止版本化文件等的无版本文件时,Switch会中途错误。这会让人感到困惑。
答案 2 :(得分:0)
如果您真的愿意,可以查看整个存储库。由你决定。就个人而言,我只会检查一下我正在积极研究的部分。这样,“svn update”不会永远占用,而且我自己的硬盘占用的空间也减少了。至于在存储库中的位置之间切换,有一个特殊的命令:“svn switch”(缩写为“svn sw”)。使用“svn help switch”或查看链接以获取更多信息:
答案 3 :(得分:0)
同意 - 只保留你正在处理的分支是最好的主意。 svn开关的唯一打嗝是你需要使用--relocate选项在存储库之间进行翻转,如果你最终使用真正的本地副本。
如果您需要真正开始分发存储库的克隆,可以查看git。 Git将允许您保留完整的本地副本,轻松地在分支之间移动,并将您的变更集推回到“主”仓库或其他克隆。
答案 4 :(得分:0)
如果我是你,我还会想到在实时服务器中有一个标准且有意义的名称的工作区,其中包含当前(如果你喜欢的最新版本)版本,这将是一个结帐文件夹你的中央存储库。然后,您只需要执行“svn更新”,而不是将符号链接更改为不同的版本。在您的服务器上也可以节省空间,因为存储库会使您的存档全部瘫痪。
为清楚起见:如果您的svn存储库具有这种典型结构:
/ trunk
/src
/bin
/docs
/scripts
/标签
/released
您可以使用此文件夹来存储您的版本或者就像我们的情况一样,如果您必须方便地保存所有档案,那么您可以拥有一个单独的二进制存档存储库(否则应该对源文件进行版本控制)
那么,您的实时服务器将有一个名为release(或其他)的工作区,它是http:/// tags / released的结帐。这样,您在服务器上的工作区上运行svn更新,瞧,您的应用程序指向最新版本。希望这会有所帮助。
对于本地工作空间,如果你是一个非常新的并且担心提交错误,可以一劳永逸地检查整个结构,只更新你提交的东西并且需要更改。上面的其他建议也是有效的。你可以查看检查任何给定文件夹的顶级目录strcuture,但要确保你保持一致的名称,以避免混淆。
走开:-)