首页 文章

在Visual Studio中使用Git [关闭]

提问于
浏览
1419

作为一个长期的用户(和仇恨者),我正在与一位同事讨论切换到SVN;他建议改用Git . 显然,它可以在没有中央服务器的情况下用作点对点(我们只有3个开发团队) .

我无法找到任何关于将Git与Visual Studio集成的工具,但是这样的事情是否存在?

在Visual Studio中使用Git有哪些技术可用?在开始之前,我需要了解它们之间的区别?

16 回答

  • 15

    Git Source Control Provider是将Git与Visual Studio集成的新插件 .

  • 18

    微软最近公布了Git for Visual studio 2012(更新2) . 我还没有玩过它,但this video看起来很有希望 .

    这是一个关于如何使用Visual Studio 2012中的Git的快速tutorial .

  • 14

    Git Extensions的最新版本现在支持Visual Studio 2010(以及Visual Studio 2008Visual Studio 2005) .

    我发现使用Visual Studio 2008相当容易,并且Visual Studio 2010中的界面似乎相同 .

  • 18

    实际上运行良好的最简单的解决方案是将TortoiseGit命令添加为外部工具 .

    Solution to adding a Git (TortoiseGit) toolbar to Visual Studio

  • 10

    正如Jon Rimmer所提到的,你可以使用GitExtensions . GitExtensions可以在Visual Studio 2005和Visual Studio 2008中运行,如果您手动复制和配置.Addin文件,它也可以在Visual Studio 2010中运行 .

  • 10

    在2013年1月,Microsoft announced他们正在为所有ALM产品添加完整的Git支持 . 他们为Visual Studio 2012安装了published a plugin,它增加了Git源代码控制集成 .

    或者,有一个名为Git Extensions的项目,其中包括Visual Studio 2005,2008,2010和2012的加载项,以及Windows资源管理器集成 . 它's regularly updated and having used it on a couple of projects, I'已经发现它非常有用 .

    另一种选择是Git Source Control Provider .

  • 198

    微软有一个Visual Studio Tools for Git . 它只支持Visual Studio 2012(更新2) .

  • 28

    目前在Visual Studio(2010和12)中有2个Git源代码控制选项:

    我已经尝试了两种,并且发现第一种更成熟,并且具有更多功能 . 例如,它可以很好地兼容togise git和git扩展,甚至可以暴露它们的功能 .

    Note :无论您使用哪种扩展程序,请确保从 Tools -> Options -> Source control -> Plugin Selection 启用它以使其正常工作 .

  • 10

    Visual Studio 2013本身支持Git .

    official announcement .

  • 92

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

    我非常喜欢GitExtensions(或者比例较低的SourceTree) . 因为看到DAG对我来说非常重要,要了解Git的工作原理 . 而且您更了解项目的其他贡献者所做的事情!

    在Visual Studio中,您无法快速查看文件或提交之间的差异,也不能(添加到索引)并仅提交部分修改 . 浏览你的历史也不好......所有这些都以痛苦的经历结束!

    而且,例如,GitExtensions捆绑了有趣的插件:后台提取,GitFlow,......现在,continuous integration

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

  • 53

    我在工作中看到了这一点(包括Subversion和Git) . Visual Studio实际上有一个源代码控制集成API,允许您将第三方源代码控制解决方案集成到Visual Studio中 . 然而,由于几个原因,大多数人都不打扰它 .

    首先,API几乎假设您正在使用锁定结帐工作流程 . 其中有许多钩子要么实现起来要么昂贵,要么在使用更现代的编辑合并工作流程时没有任何意义 .

    第二个(相关)是当你使用Subversion和Git鼓励的编辑合并工作流时,你并不需要Visual Studio集成 . SourceSafe与Visual Studio集成的主要杀手点是,您(和编辑)可以一目了然地告诉您拥有哪些文件,在编辑之前必须检出哪些文件,以及即使您想要查看哪些文件也无法检出 . 然后它可以帮助您在编辑文件时执行您需要执行的任何修订控制伏都教 . 这些甚至都不是典型Git工作流程的一部分 .

    当您使用Git(或典型的SVN)时,您的修订控制交互都发生在开发会话之前或之后(一旦您完成所有工作和测试) . 在这一点上,使用不同的工具真的不是太痛苦 . 你不是经常来回切换 .

  • 37

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

  • 31

    我发现Git,就像它一样在整个树上工作,比基于文件或遵循checkout-edit-commit模式的源控制工具从IDE集成中受益更少 . 当然有一些例子当点击一个按钮做一些历史考试可能会很好,但我不会错过这个 .

    真正的必须做的是让你的.gitignore文件充满不应该在共享存储库中的东西 . 我的一般包含(以及其他内容)以下内容:

    *.vcproj.*.user
    *.ncb
    *.aps
    *.suo
    

    但这很大程度上是C偏向的,几乎没有使用任何类向导样式功能 .

    我的使用模式类似于以下内容 .

    • Visual Studio中的代码,代码和代码 .

    • 当快乐时(合理的中间点提交代码,切换到Git,阶段更改和审查差异 . 如果有什么显然错误切换回Visual Studio并修复,否则提交 .

    任何合并,分支,rebase或其他花哨的SCM东西在命令提示符下都很容易在Git中完成 . Visual Studio通常对它下面发生变化的事情非常满意,尽管如果你明显改变了项目文件,它有时可能需要重新加载一些项目 .

    我发现Git的有用性超过了没有完全IDE集成的任何轻微不便,但它在某种程度上是一个品味问题 .

  • 1062

    我使用Git和Visual Studio将Protocol Buffers的端口转换为C# . 我不使用GUI - 我只是保持命令行打开以及Visual Studio .

    在大多数情况下它没关系 - 唯一的问题是当你想重命名文件时 . Git和Visual Studio都宁愿他们重命名它 . 我认为在Visual Studio中重命名它是可行的方法 - 只需要小心你之后在Git方面所做的事情 . 虽然这在过去有点痛苦,但是我重新命名了这个类,IME . )

    但基本上 - 是的,它运作正常 . 我是一个Git新手,但我可以把它做到我需要做的一切 . 确保你有bin和obj以及* .user的git ignore文件 .

  • 15

    也不要错过TortoiseGit ... https://tortoisegit.org/

相关问题