作为一名长期使用Visual SourceSafe的用户(也是仇恨者),我正在与一位同事讨论切换到SVN;他建议改用Git。因为,显然,它可以作为点对点使用,而无需中央服务器(我们是一个3开发团队)。
不过,我还没有找到任何关于将Git与Visual Studio集成的工具的信息——这样的东西存在吗?
在Visual Studio中使用Git有哪些技术?在我开始之前,我需要知道它们有什么不同?
作为一名长期使用Visual SourceSafe的用户(也是仇恨者),我正在与一位同事讨论切换到SVN;他建议改用Git。因为,显然,它可以作为点对点使用,而无需中央服务器(我们是一个3开发团队)。
不过,我还没有找到任何关于将Git与Visual Studio集成的工具的信息——这样的东西存在吗?
在Visual Studio中使用Git有哪些技术?在我开始之前,我需要知道它们有什么不同?
当前回答
我使用Git和Visual Studio将协议缓冲区连接到C#。我不使用GUI——我只是像Visual Studio一样打开命令行。
在大多数情况下,这是好的-唯一的问题是当您想要重命名文件时。Git和Visual Studio都希望自己是重命名它的人。不过,我认为在Visual Studio中重命名它是一种方法——只是要小心之后在Git端的操作。虽然这在过去有点痛苦,但我听说它在Git端实际上应该是无缝的,因为它可以注意到内容基本相同。(通常不完全相同——在重命名类IME时,您倾向于重命名文件。)
但基本上-是的,它很好。我是一个Git新手,但我可以让它做我需要的一切。确保你有一个Git忽略文件,用于bin、obj和*.user。
其他回答
目前,Visual Studio中的Git源代码管理有两个选项(2010和12):
Git源代码管理提供程序Microsoft Git提供程序
我已经尝试了这两种方法,并发现第一种方法更成熟,并且具有更多的功能。例如,它可以很好地处理乌龟git和git扩展,甚至暴露了它们的特性。
注意:无论使用哪种扩展,请确保从“工具”->“选项”->“源代码管理”->“插件选择”中启用它,使其正常工作。
微软有一个Visual Studio Tools for Git。但它仅支持Visual Studio 2012(更新2)。
最简单的解决方案是将TortoiseGit命令作为外部工具添加。
将Git(TortoiseGit)工具栏添加到Visual Studio的解决方案
我发现,与基于文件或遵循签出-编辑-提交模式的源代码管理工具相比,Git在整个树上工作时,从IDE集成中获益较少。当然,有些情况下,点击一个按钮进行历史检查会很好,但我并不十分怀念。
真正必须做的是让.gitignore文件充满不应该在共享存储库中的内容。矿山通常包含(除其他材料外)以下内容:
*.vcproj.*.user
*.ncb
*.aps
*.suo
但这严重偏向于C++,很少或根本没有使用任何类向导风格的功能。
我的使用模式如下所示。
Visual Studio中的代码,代码,代码。当高兴时(明智的中间点是提交代码),切换到Git,保存更改并查看差异。如果有任何明显错误,请切换回Visual Studio并修复,否则提交。
在Git中,任何合并、分支、重基或其他漂亮的SCM内容都可以从命令提示符轻松完成。VisualStudio通常对其下的内容变化相当满意,尽管如果您对项目文件进行了重大更改,它有时需要重新加载一些项目。
我发现Git的有用性超过了没有完全集成IDE带来的任何不便,但在某种程度上,这是一个品味问题。
TortoiseGit已经成熟,我特别推荐您使用TortoiseSVN。