visual-studio Visual Studio 开发的最佳源代码控制产品是什么?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/836633/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-22 10:27:39  来源:igfitidea点击:

What is the best source control product for Visual Studio development?

visual-studioversion-control

提问by Mike C.

I work in a Visual Studio/.NET shop which is still using VSS 2005 for source control. We are looking to upgrade to VS Team Foundation Server and use it's source control system, but I'm curious if that's really the best option. The creators of StackOverflow use Subversion but comment that it's a pain to merge code forks back into the main product (discussed in podcast #52). Joel mentioned that Mercurial is used at Fog Creek. Knowing that Joel is something of a software snob and he chose Mercurial over anything from Microsoft, I thought I would pose the quesiton to the StackOverflow audience: which source control product is the best for Visual Studiodevelopers?

我在 Visual Studio/.NET 商店工作,该商店仍在使用 VSS 2005 进行源代码控制。我们希望升级到 VS Team Foundation Server 并使用它的源代码控制系统,但我很好奇这是否真的是最佳选择。StackOverflow 的创建者使用 Subversion,但评论说将代码分支合并回主要产品很痛苦(在播客 #52 中讨论)。Joel 提到在 Fog Creek 使用 Mercurial。知道 Joel 是一个软件势利小人,他选择 Mercurial 而不是 Microsoft 的任何产品,我想我会向 StackOverflow 观众提出问题:哪种源代码控制产品最适合Visual Studio开发人员?

回答by Jimmie R. Houts

We switched from VSS to SVN, using only TortoiseSVNfor a long time. Recently we began using the VisualSVNplugin for VS (unfortunately not free).

我们从 VSS 切换到 SVN,长时间只使用TortoiseSVN。最近我们开始使用VS的VisualSVN插件(不幸的是不是免费的)。

I must say, after getting over the initial pain of not having source control integration in VS, I really liked the level of control I had over all my source control operations. I highly recommend this route.

我必须说,在克服了在 VS 中没有源代码控制集成的最初痛苦之后,我真的很喜欢我对所有源代码控制操作的控制级别。我强烈推荐这条路线。

If you go with Subversion and must have source control integration, I highly recommend VisualSVN.

如果您使用 Subversion 并且必须集成源代码控制,我强烈推荐 VisualSVN。

If you want to give SVN a try, you can install the very free (and very easy to setup) VisaulSVN Serverproduct and have SVN running in just a few minutes on a Windows server.

如果您想尝试 SVN,您可以安装非常免费(并且非常容易设置)的VisaulSVN 服务器产品,并在几分钟内在 Windows 服务器上运行 SVN。

回答by marc_s

My recommendation is for SourceGear Vault. It's close enough to Visual Source(un)Safe to feel "comfortable" with right away, it's rock-solid (built on SQL Server which solves your backup hassles, too), it's very reliable, has great support for branching and merging - all around good stuff.

我的建议是SourceGear Vault。它与 Visual Source(un)Safe 足够接近,立即感觉“舒适”,它坚如磐石(建立在 SQL Server 上,也解决了您的备份麻烦),它非常可靠,对分支和合并有很好的支持 - 所有周围好东西。

It's free for teams up to 2 devs and reasonably priced for larger teams - much less $$$ than Team System (also it's only a Source Control, of course - not a whole team dev system). We use it in conjunction with Fogbugz bug and issue tracker and that combo gives up all the bang we need for much less buck.

它对最多 2 个开发人员的团队是免费的,对于较大的团队来说价格合理——比团队系统便宜得多(当然,它也只是一个源代码控制——不是整个团队开发系统)。我们将它与 Fogbugz 错误和问题跟踪器结合使用,这种组合以更少的成本放弃了我们需要的所有功能。

Highly recommended.

强烈推荐。

Marc

马克

回答by Johnno Nolan

It seems that you want to have VS integration but I question the reason for that.

似乎您想要与 VS 集成,但我质疑这样做的原因。

A good source control product has many more features than just VS integration.

一个好的源代码控制产品除了 VS 集成之外,还有更多的功能。

You can get subversion to integrate with VS ( Ankh svnand visualsvn) and I've also used vaultwhich is stable and integrated with VS but I use source control for other things other than just vs work.

你可以让 subversion 与 VS(Ankh svnvisualsvn)集成,我也使用了稳定的并与 VS 集成的vault,但我将源代码控制用于除工作之外的其他事情。

So I prefer to work with source control out of the product. You should try it.

所以我更喜欢在产品之外使用源代码控制。你应该试试看。

回答by Josh

I've worked with VSS, CVS, SVN, and TFS.

我使用过 VSS、CVS、SVN 和 TFS。

VSS: Skip it. I've lost too many changes that literally have just vanished.

VSS:跳过它。我失去了太多实际上已经消失的变化。

CVS: Great solution. Has one feature SVN is missing with a visual of the merging.

CVS:很好的解决方案。有一个功能 SVN 缺少合并的视觉效果。

SVN: Great solution. You can get add-ins to integrate if you need them. I have only one complaint: merging between branches could be better. But, the product is bomber and very affordable.

SVN:很好的解决方案。如果需要,您可以获取要集成的加载项。我只有一个抱怨:​​分支之间的合并可能会更好。但是,该产品是轰炸机,非常实惠。

TFS: Where I was working, they didn't do much with it. They only used the source control. I was excited to use it, especially the shelving, but I couldn't merge the changes to a branch. I would say it's pretty much what VSS should be. Sometimes MS tries too hard to do things for you that you just have to do for yourself. Also, the UI isn't intuitive.

TFS:在我工作的地方,他们没有做太多事情。他们只使用了源代码管理。我很高兴使用它,尤其是搁架,但我无法将更改合并到一个分支。我会说这几乎就是 VSS 应该是什么。有时,MS 会非常努力地为您做一些您必须为自己做的事情。此外,用户界面不直观。

So, I'd stick with SVN. Though, the new open source standard seems to be GIT (can't comment on it though).

所以,我会坚持使用 SVN。不过,新的开源标准似乎是 GIT(虽然无法对此发表评论)。

回答by Steve

Coming from VSS anysystem would be an improvement;-)

来自 VSS 的任何系统都将是一种改进;-)

Perforceis probably the best mainstream tool I have used. Rational Apex was even better, but unless you're writing Ada that information is of no use to you.

Perforce可能是我用过的最好的主流工具。Rational Apex 甚至更好,但除非您正在编写 Ada,否则这些信息对您毫无用处。

ClearCaseis pretty powerful, but I found it pretty hard to use (admittedly I only used it for a couple of weeks, so I possibly didn't give it a fair trial).

ClearCase非常强大,但我发现它很难使用(诚然我只使用了几个星期,所以我可能没有给它一个公平的试用)。

For the cost (free) SVN is excellent. The Tortoise shell add-in makes it very easy to use in Windows.

对于成本(免费)SVN 非常好。Tortoise shell 加载项使其在 Windows 中非常易于使用。

EDIT.

编辑。

I see I just got an upvote from this ancient answer :-) This caused me to revisit and I find I need to update my answer.

我看到我刚刚从这个古老的答案中得到了一个赞成 :-) 这让我重新审视,我发现我需要更新我的答案。

I now use TFS at work and I really like it, it's a big beast and not appropriate for home projects perhaps, but it's a commercial tool and worth a look if you really value VS integration. I'm sure Perforce and Clear Case are still great products too, but I am out of touch with those now.

我现在在工作中使用 TFS,我真的很喜欢它,它是一个大野兽,也许不适合家庭项目,但它是一个商业工具,如果你真的重视 VS 集成,值得一看。我确信 Perforce 和 Clear Case 仍然是很棒的产品,但我现在与它们脱节了。

For smaller projects or personal work at home I now use Git. I don't particularly care about VS integration though, I just use it from the command line, but at home I switch between several different environments so VS integration is not a priority.

对于较小的项目或在家中的个人工作,我现在使用 Git。虽然我并不特别关心 VS 集成,我只是从命令行使用它,但在家里我在几个不同的环境之间切换,所以 VS 集成不是优先事项。

回答by J.W.

The source control is onlypart of VS Team Foundation Server, which is a complete project management system.

源代码管理只是VS Team Foundation Server 的一部分,它是一个完整的项目管理系统。

I used both SVN and TFS, and both of them are more stable, robust than VSS.

我同时使用了 SVN 和 TFS,它们都比 VSS 更稳定、更健壮。

回答by Antonio Haley

I've had much luck with Ankhsvn. I'm able to use it interchangeably with TortoiseSVN and it does a great job of tightly integrating itself with Visual Studio and the project layout.

我在 Ankhsvn 上很幸运。我可以将它与 TortoiseSVN 互换使用,并且它在将自身与 Visual Studio 和项目布局紧密集成方面做得很好。

http://ankhsvn.open.collab.net/

http://ankhsvn.open.collab.net/

回答by David Suarez

We use plasticscmat work, it's less known, but very well integrated into VS, you have all the options and graphs inside vs itself.

我们在工作中使用plasticscm,它鲜为人知,但很好地集成到VS 中,您在VS 内部拥有所有选项和图表。

回答by David Suarez

I prefer TFSVC as it is integrated with all the other services in Team Foundation Server. But it depends on what you want to do. If you want an ALM solution, this is the way to go. I have the ability to set check in policies, integrated builds, and associate with work items. I like the way it does branching and merging. I can have my testers submit bug work items associated with the code in TFSVC. I have traceability to see who is checking in and breaking the builds. I can run reports and get good visibility into the project. Everything works together.

我更喜欢 TFSVC,因为它与 Team Foundation Server 中的所有其他服务集成在一起。但这取决于你想做什么。如果您想要 ALM 解决方案,这就是要走的路。我能够设置签入策略、集成构建以及与工作项相关联。我喜欢它进行分支和合并的方式。我可以让我的测试人员提交与 TFSVC 中的代码相关的错误工作项。我有可追溯性,看看谁在签入和破坏构建。我可以运行报告并获得对项目的良好可见性。一切都在一起工作。

I hope this helps.

我希望这有帮助。

John

约翰

回答by SO User

SVN is better and faster than VSS. We switched from VSS to SVN 2 years ago because VSS was on servers in New York and the operations on VSS seemed too slow for developers in India. SVN is faster because it was meant for WAN as opposed to VSS which is for LAN. Refer this link

SVN 比 VSS 更好更快。我们在 2 年前从 VSS 切换到 SVN,因为 VSS 在纽约的服务器上,而且 VSS 上的操作对于印度的开发人员来说似乎太慢了。SVN 速度更快,因为它适用于 WAN,而不是适用于 LAN 的 VSS。参考这个链接

You can use windows explorer to perform SVN operations or you can use AnkhSVN to be able to perform SVN operations from VS.Net IDE.

您可以使用 Windows 资源管理器来执行 SVN 操作,也可以使用 AnkhSVN 来从 VS.Net IDE 执行 SVN 操作。

You can prefer locking files before editing if you find merging them later to be a hazzle. But IMHO merging is really not tht painful, because you get to see the clear distinction between your and your collegues code before you go ahead with the merge.

如果您发现稍后合并它们很麻烦,您可以更喜欢在编辑之前锁定文件。但恕我直言,合并真的不是那么痛苦,因为在继续合并之前,您可以看到您和您同事的代码之间的明显区别。

Advantages of SVN can be found hereon stack overflow.

SVN 的优点可以在这里找到堆栈溢出。