我是SVN的新手,我的项目通常是.NET winforms项目,在过去,网络驱动器上有一个共享文件夹,并且是一个"当前构建"文件夹.
我的团队,3名成员,我们所有人都在自己的窗户上有本地副本.问题出现了,程序员A和程序员B可能同时修改文件而A覆盖B的文件等.
我的老板让我建立一个SVN来防止上面的问题.
我搜索了SOF并理解了SVN的概念,然而,有人说它必须从/ branch文件夹中检查源,完成后,签入回/ branch文件夹并合并到/ trunk.
它让我提出一些问题:假设我的项目包含3个文件:
和SVN存储库结构:
-
今天,我想修改Cart.cs,我将Cart.cs复制到/ branch并创建一个新文件夹"1.0.1"并结帐到我的本地并在VS2010上打开,但Cart.cs继承了Product.cs,所以它在我的VS上做了一些"遗漏参考"错误.
因此,正确的方法是将所有文件复制到/branch/1.0.1并将checkout复制到本地或只保留本地副本并覆盖/ branch中的文件以使编译正确?
谢谢.
你似乎对SVN的基本概念感到困惑.我强烈建议您阅读本书的前几章,特别是第2章和基本工作周期的部分.
颠覆红豆书
你应该做些什么来充分利用SVN就是这样的.
您创建一个存储库并存储任何启动文件或其他内容,为您的项目创建一个特殊的文件夹,然后在其中创建文件夹,即
/myProject
+ trunk
+ branches
+ tags
+ sandbox
Run Code Online (Sandbox Code Playgroud)
从那里,你所有的工作都应该在后备箱里完成.每个人都应该从主干检查项目,并单独处理他们的本地(工作)副本,理想情况下一次只能处理一个任务/问题.修复大型或实现新功能后,将工作与存储库同步,如果发生冲突,则应解决它们.SVN 不会让您检查冲突的文件.您必须推迟,覆盖或合并您的工作与主干.如果此时需要与其他开发人员进行通信,则应该.解决所有冲突并使用工作副本测试完所有内容后,您可以提交代码并将更改发布回主干,然后进行更新.
当您需要从主干分叉以实现特定功能而不提交到主干时,将使用分支.几天之后你应该将主干合并到你的分支中,然后最终你需要将分支合并到主干中.