Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于.NET开发人员来说,Git和Mercurial?_.net_Git_Mercurial_Dvcs - Fatal编程技术网

对于.NET开发人员来说,Git和Mercurial?

对于.NET开发人员来说,Git和Mercurial?,.net,git,mercurial,dvcs,.net,Git,Mercurial,Dvcs,我一直在想,对于.NET开发人员来说,什么是更好的DVC?从阅读各种信息来看,它听起来像Mercurial在Windows上工作得更好,但其他信息声称Git在提供高质量的Windows和Visual Studio工具方面赶上并超过了Mercurial。在.NET开发环境中,是否有人拥有在这两种环境中都尝试的良好信息或经验?我认为,考虑到git的指数级普及率增长,git对windows的良好支持(类似于subversion对类似于tortoiseSVN的东西的支持)一定会到来,这只是时间问题。看起

我一直在想,对于.NET开发人员来说,什么是更好的DVC?从阅读各种信息来看,它听起来像Mercurial在Windows上工作得更好,但其他信息声称Git在提供高质量的Windows和Visual Studio工具方面赶上并超过了Mercurial。在.NET开发环境中,是否有人拥有在这两种环境中都尝试的良好信息或经验?

我认为,考虑到git的指数级普及率增长,git对windows的良好支持(类似于subversion对类似于tortoiseSVN的东西的支持)一定会到来,这只是时间问题。看起来最受欢迎的两个项目是and(也使用msysgit),它类似于tortoiseSVN。git正变得越来越流行,如果您遇到任何现在不太可能出现的问题,并且随着windows上git工具的进一步发展,这些问题变得越来越不可能出现,那么由于庞大的用户群,您将能够更轻松地找到修复方法

同时,我发现许多指南非常有用

您可能遇到的问题可能是忽略某些文件,如果您查找如何使用
.gitignore
,这应该很容易,这非常简单,下面是本系列提到的文件和通配符列表:

obj
bin
_ReSharper.*
*.csproj.user
*.resharper.user
*.resharper
*.suo
*.cache
*~
*.swp

我还看到了一些关于行结束的问题。关于这一点,您可能想看看。

我使用Mercurial进行.NET开发已经有一年多了,效果非常好。我承认我没有使用任何花哨的工具(explorer插件和Visual studio工具),但它们是可用的(例如,TortoiseHg)。我发现使用命令行工具同样简单——只需在.hgignore(如中)中指定一些通配符,就可以了

我不确定git与hg的集成程度如何,但对于我过去使用过的反向转换,它工作得很好。然而,随着汞的新释放,它仍然有些不稳定

因此,您应该能够使用mercurial的github,对于本地mercurial回购协议,总是有(imo)同样好的。编辑:还要注意的是,专注于.NET开源项目,现在提供了Git和Mercurial存储库

我应该提到的是,“受欢迎程度”是一个很难做出选择的标准。这两个DVCS都有高知名度的用户。当然,Git有linux内核,而著名的hg用户包括mozilla和Python项目


编辑:因为这似乎得到了定期的投票。在撰写本文时,我上面所写的一切都是真实的,但我不再认同我以前的观点:bitbucket和GitHub一样好。GitHub有更好的功能,在我看来(主要是开源开发),其他人都在那里,所以你可以获得更好的网络效果。不久前,我将所有项目从codeplex/bitbucket转移到GitHub,并立即开始获得贡献,而在codeplex/bitbucket上几乎什么都没有发生。

我没有认真使用Mercurial,但刚刚完成从Subversion切换到Git进行.NET开发。我使用的发行版是,它安装了标准(msys)Git,加上一个图形前端、一些Windows Explorer集成和一个Visual Studio插件。它还附带了好的文档。Explorer集成并没有像TortoiseSVN那样在文件图标上提供整洁的状态标记,只是在右键单击菜单中添加了基本元素。所有这些工具都运转良好

我发现的最大问题是Git需要您理解概念才能获得好的结果。Git扩展的图形界面只是Git设施上的薄壳,因此,如果您要处理子模块,那么Git扩展提供的任何工具都无法解决这个问题。不过,现在在线上有大量关于Git的教程和视频


默认情况下,Git的Windows版本会将行尾转换为CRLF;因为我们完全是一家MS商店,所以这对我们来说是正确的行为。

在撰写本文时,我在不同的项目中使用了and(对于mercurial),主要是java和.net项目。我不得不说,陆龟处于领先地位,因为它比这两种动物稳定得多,而且功能齐全


这是一个反复无常的问题,但我建议在插件本身稳定之前坚持使用龟甲。不确定是否与git集成,但有人谈论VS的插件。

git和Mercurial对.NET开发人员都有好处,但众所周知Mercurial有更好的Windows支持。 另外,如果你考虑一个商业工具,你为什么不看看塑料SCM阅读Windows上的分布式DEV的以下教程?
更新现在Plastic SCM有了一个免费的社区版。

Git的一个主要优势是,使用VS时,重命名检测将使生活更轻松。如果您只想使用命令行界面,在HG中,您必须在VS中重命名文件,在Git中,您将无缝地检测重命名(它跟踪内容而不是文件),即使您对文件做了一些更改,它也会检测到重命名。

尽管git对于unix/linux用户来说是一种自然的吸引力,但对于windows和.net用户来说,它已经越来越好了。然而,mercurial可能是两者之间更好的选择。与集中式开发不同,集中式开发有很多选择,真正的dvcs工具很少。据我所知,只有一个商业系统,塑料scm和前面提到的两个oss工具。我来自clearcase方面,有使用pvcs、p4和其他传统scm工具的经验。我被塑料绊倒了,可能是通过这个网站,从我的评估来看,从视觉的角度看,似乎做得很好。如果你像你说的那样更像一家windows商店,那么它可能是塑料的、mercurial的和git的。如果您更喜欢unix/linux,git可能是第一个逻辑选择。希望这有帮助

还有HgSccPackage插件