两个程序员在Visual C#程序上工作

时间:2009-11-28 02:21:28

标签: c# visual-studio version-control

我和另一个程序员正在使用Visual C#中的同一个程序。我让他继续工作,然后他上传它然后我继续它,然后我上传它,以便他可以工作。我们轮流改变源代码。

然而,这有点慢。如果我们能够在不轮流的情况下同时处理源代码会更好,然后我们可以轻松地将我们的更改组合在一起。有没有办法做到这一点?

6 个答案:

答案 0 :(得分:25)

源代码控制......用TortoiseSVN前端看一下Subversion。

http://en.wikipedia.org/wiki/Source_control

答案 1 :(得分:3)

正如Mike C.所说,Source Control允许你这样做。源代码控制创建了存储代码的中心位置,并允许团队以受控方式同时处理相同的代码。当两个程序员更改同一个文件时,第二个签入(将他们的更改上传到源控件存储库)会被警告另一个程序员已经更改了同一个文件并允许他/她合并这两个更改,如果它们之间存在冲突

其他优点是它保留了每个程序员所做的所有更改的历史记录,以便您可以非常轻松地跟踪谁做出了哪些更改。

答案 2 :(得分:3)

这就是修订控制系统诞生的原因。现在你需要一个。查看可用的软件和pickone:http://en.wikipedia.org/wiki/List_of_revision_control_software

答案 3 :(得分:1)

有很多很好的免费源代码控制程序。我个人使用Bazaar,非常容易使用并且可以很好地使用Windows。 Mercurial也很好,Git也是如此,尽管我自己并没有使用过它。这三个都是所谓的分布式源控制系统,这意味着您不必设置中央服务器。所以对于两个人来说,应该就是你所需要的一切。

但是,如果您想选择中央存储库类型的系统(签出/签入...,),Subversion和Perforce都很棒。 Perforce是一个商业系统,但只有2个用户,许可证是免费的。虽然即使使用这种类型的工作流程,您也可以通过这种方式调整上述任何分布式系统。

答案 4 :(得分:1)

正如其他人所说,“源控制”(也称为“SCM”)就是你想要的;事实上,你写的是:

  

都在处理源代码   同时没有轮流,和   那么我们可以   轻松结合我们的变化

...几乎是源代码控制的定义。 (正如Andres所说,SCM还有一个主要特征,即历史跟踪。)

Subversion绝对是你应该尝试的产品。它具有良好的文档记录,现代化(即:没有CVS的“较旧”问题),与Git等功能更强大的分布式系统相比,相对简单。

一个重要的注意事项:“轻松地结合我们的变化”需要一些专门的学习和实践。 “合并”是从两个不同来源获取代码并以不破坏事物的方式统一它们的做法。它可能很棘手,并且在您深入了解其工作方式之前会非常混乱。我建议与你的合作伙伴开发人员留出一天的时间并练习在之前组合你的变化的连衣裙 - 你尝试在真实的代码上做。再说一次:Subversion在这里是一个很好的工具,因为the documentation非常好并且写得很清楚。

答案 5 :(得分:1)

如上所述,您确实需要研究源控制系统。 Subversion对您来说可能是最简单的,您可以选择让另一家公司根据您的要求为您托管。在Visual Studio中使用Ankhsvn或VisualSVN或按照建议使用TortoiseSVN

如果此项目是开源,您可以在Google Code或Github上托管它,否则如果您无法设置boxen来托管您的存储库,请查看Assembla。使用Assembla,您还可以获得Trac的副本,它也将为您提供项目管理系统(尽管我过去3年使用过Trac,我已经转移到Redmine)。但是,如果您有源存储库设置,还有其他工具,如Jira + Confluence等。

请远离Visual Source Safe。 Team Foundation Server是另一个你必须要认真思考并确定在进入之前你是否需要整个包装袋。

如果你使用TortoiseSVN,安装WinMerge,它会自动注册为Diff工具,在进行一些复杂的合并时会给你更多的灵感: - )