我正在学习使用Visual Studio.NET使用SVN。一切都很好,除了我无法弄明白的东西:
我的原始源代码位于c:\ source
我在c:\ repo(svn:// localhost)
创建了一个存储库我在svn:// localhost / MyProject / trunk
中使用VS.NET将我的解决方案添加到存储库我检查了从repository / trunk到c:\ working copy
的工作副本我对此工作副本的myfile.cs进行了一些更改,并且没有任何错误地提交。我更新到最新,再次检查等等,这一切都很好。
但是,我在Windows资源管理器的c:\ source \ myfile.cs中检查了同一个文件,它是旧版本。根本没有对它进行任何修改。我认为提交工作会改变原来的主干版本吗?我在这里错过了什么吗?或者我理解源代码管理都错了吗?
答案 0 :(得分:4)
您的工作副本当然是C:\working copy
;您对工作副本所做的任何更改都将反映在这些文件中。当您提交时,您将致电C:\repo\<repo>
处的仓库,因此当您从该仓库退房时,您还会看到更改。
然而,C:\source
中的原始源文件未被触及,因为它既不是您的工作副本也不是回购本身。
答案 1 :(得分:2)
实际上,您的C:\source
与源本身无关。它没有连接任何东西(不是工作文件夹)。
您的存储库位于C:\repo
,执行提交时更改仍然存在。
在工作文件夹(IE,UPDATE
)上执行C:\working copy
时,您将下载更改
答案 2 :(得分:2)
回答您的后续问题:您希望编译当前的存储库中继,而不是自动合并每个人当前工作副本所导致的任何内容。甚至产生编译代码的几率也很低。
当您完成一个好的更改并使用本地构建进行测试时,请将其提交给SVN。存储库中的任何内容都是权威代码,您的构建系统应该编译它。