我是Subversion的新手,但是我试图摆脱SourceSafe令人恐惧的阴影。所以我正在学习,试图教自己什么是什么,而我遇到了一些我还不太了解的障碍。

SVN 1.7.3已启动并在本地Linux机器上运行。 AnkhSVN已安装在我的VS 2010安装程序中。 VS/AnkhSVN可以与我的存储库对话。因此,我开始尝试一些非常简单的Console项目以开始使用。按照到目前为止的指南中的建议,我创建了主干,分支和标签目录。

我创建了一个新的控制台解决方案,并允许Ankh在建议的“trunk”文件夹下的存储库中创建该项目。在向Program.cs添加“Hello,World”行之后,我将更改提交到了主干。那行得通...到目前为止,还算不错...

我现在想假装我正在一个私有(private)分支上,所以我从“trunk”和“Head/Latest”版本中选择“Subversion-> Branch Project ...”,并选中“创建后切换到分支”。看来一切顺利。

问题1.

现在,这里变得井井有条。我决定将单个源文件添加到我的私有(private)分支中的项目中,添加该文件,但是我无法使该文件从私有(private)分支移动到主干。合并/重新整合无效。更新不起作用。开关不起作用。现在,在尝试从分支切换到主干后,VS告诉我我的项目文件已损坏,无法加载。

显然,我做错了非常严重的事,但是我不知道该怎么办。看来我只需要获取一个主干工作副本,然后进行合并,但是如何在VS项目文件夹设置中做到这一点?

问题2

我的下一个问题(可能是问题1的一部分)是了解应如何在Visual Studio端构造Subversion管理的项目。在Unix方面,我可以将项目拉到本地文件夹中更加清楚,但根本不清楚VS项目的典型目录结构应该如何受到Subversion的影响。主干和分支文件夹是否也应该在本地Visual Studio框中复制?如果我从中继“切换”到专用分支(反之亦然),是为了使相应的文件进入同一组VS文件夹,或者应该为分支和中继提供相应的文件集?

问题3
这更多是关于SVN的新手问题,但是当SVN告诉我存在冲突时,我还不知道如何解决它们。 ankhSVN插件是否具有解决冲突的特殊工具,还是需要使用完整的svn工具在主机服务器上修复它们?如果是这样,则要解决的“最典型”冲突是什么?

最佳答案

首先要做的是:至少阅读Version Control with Subversion的前两章,并使用示例。为此,最好使用命令行客户端,例如Slik SVN

对于SVN客户端来说,仅靠AnkhSVN是不够的-仅仅是将SVN集成到VS中的便捷工具。因此,如果您想使用GUI客户端(除了命令行客户端,在任何情况下都必须使用IMHO),那么Windows上最受欢迎的是Tortoise SVN

(积极地)阅读带有Subversion的版本控制将帮助您解决所有当前的问题,但是这里有一些初步的想法:

问题1 您是否提交了分支?您可以通过运行svn info [repo_url]/branches/[your_branch]来确保

问题2 您看来似乎存在一些误解:SVN还在本地“拉”文件(术语为“ checkout ”)。读了这本书!!!

通常,您的SVN结构应该反射(reflect)您的文件夹结构,反之亦然。通常,您一次只能在一个分支上工作,并且只 checkout 一个分支。当您需要在另一个分支上工作时,请执行“svn switch”。节省空间。现在,您当然可以从 repo 根目录开始 check out 所有存储库,但是为什么要这样做呢? (我可以想到这样的情况,但是它们更关心的是存储库维护,而不是常规的工作流)。

问题3 冲突-在您阅读本书之前,甚至都不值得谈论。

我希望这会为您指明正确的方向。阅读本书的前两章应该将您带到几个小时到几天不等的时间。

关于visual-studio-2010 - 了解Visual Studio 2010,AnkhSVN和SVN 1.7.4的分支使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10240078/

10-14 17:07
查看更多