作为一名长期使用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 Tools for Git。但它仅支持Visual Studio 2012(更新2)。

最新版本的Git扩展现在支持Visual Studio 2010(以及Visual Studio 2008和Visual Studio 2005)。

我发现它很容易与VisualStudio2008一起使用,而且在VisualStudio2010中界面似乎是一样的。

我使用Git和Visual Studio将协议缓冲区连接到C#。我不使用GUI——我只是像Visual Studio一样打开命令行。

在大多数情况下,这是好的-唯一的问题是当您想要重命名文件时。Git和Visual Studio都希望自己是重命名它的人。不过,我认为在Visual Studio中重命名它是一种方法——只是要小心之后在Git端的操作。虽然这在过去有点痛苦,但我听说它在Git端实际上应该是无缝的,因为它可以注意到内容基本相同。(通常不完全相同——在重命名类IME时,您倾向于重命名文件。)

但基本上-是的,它很好。我是一个Git新手,但我可以让它做我需要的一切。确保你有一个Git忽略文件,用于bin、obj和*.user。

TortoiseGit已经成熟,我特别推荐您使用TortoiseSVN。

Microsoft在Visual Studio中提供的Git支持对于基本工作(提交/获取/合并和推送)来说已经足够了。我的建议是避免。。。

我非常喜欢GitExtensions(或者SourceTree)。因为看到DAG对了解Git的工作方式非常重要。而且你更加了解项目的其他贡献者所做的事情!

在Visual Studio中,您不能快速看到文件之间的差异或提交,也不能(添加到索引中)和提交部分修改。浏览您的历史记录也不好。。。这一切都以痛苦的经历告终!

例如,GitExtensions与有趣的插件捆绑在一起:background fetch、GitFlow,。。。现在,持续集成!

对于Visual Studio 2015的用户来说,如果安装GitHub扩展,Git正在形成。但外部工具仍然更好;-)