visual-studio - 分布式源代码管理不适用于 Visual Studio 用户?

标签 visual-studio svn git open-source mercurial

关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

6年前关闭。




Improve this question




我记得 SVN 历史上的两个事件:TortoiseSVN 可用,VisualSVN 可用。

第一个结果:“我们永远不想在命令行中使用 SVN”。
第二个结果:“我们永远不会在没有 VisualSVN 的情况下使用 SVN 和 MSVS”

请正确理解这一点——如果我们需要一些不能用 Tortoise 完成的东西,我们会使用 SVN 命令行,如果我们需要的东西不能从 MSVS 获得,我们会使用 Tortoise。但除此之外(99.9% 的时间),您所需要的一切都在 IDE 中。

现在我确实理解并喜欢分布式源代码控制的好处,但是我根本没有办法在 IDE 中寻找重命名的文件并手动执行 hg rename 以免丢失历史记录(“删除 + 创建新”而不是“重命名”= 没有历史记录)。我也不认为 blame 或文件还原是无法直接对解决方案资源管理器中选择的文件执行或打开进行编辑的操作。使用 VisualSVN,所有这些以及更多功能都可以正常工作!

DSCM 的概念优势很大,但如果 IDE 中没有简单的日常使用的功能,它们就没有好处!

问题:是否有一个带有插件的分布式源代码控制,可以像 VisualSVN 一样流畅地集成到 MSVS 中? 目前,Git Extensions 和 VisualHg 还远未达到这一点,VisualSVN 团队拒绝使用以下内容创建 VisualGit:

"We can consider this option only if Git changes its license from GPL to BSD/Apache style to allow derivative commercial work. "

附言IDE 必备:

  • 解决方案树中的文件状态。如果编辑了任何子项,则父项即文件夹/项目/解决方案被标记为已编辑。
  • 上下文更新、提交、历史记录、 blame 、还原为解决方案资源管理器/打开文件的一键操作,键盘快捷键可用!
  • 自动跟踪和处理文件重命名/拖放/新文件创建。
  • 已编辑文件中尚未提交的指示符(黄线),在关闭并重新打开文件后不会消失。

  • 不是很多吗?

    更新:

    1) 已测试 HgSccPackage昨天。它确实有更多需要的功能可以直接从 IDE 获得,并且它们确实尊重当前上下文,即选择/打开文件等。不幸的是,它的解决方案树状态目前有问题,不支持文件夹状态。

    2) Git Source Control Provider在与 VisualHG 相同的回复中提到至少缺少两件事:
  • 出于某种原因,他们有少量的上下文操作(例如, blame/注释是 NA)
  • 它接缝它们都牢固地基于 MSVS 源代码控制 API(与 VisualSVN 不同),因此不提供解决方案文件夹状态(与 HgSccPackage 相同)。

  • 3) Charles Bailey指出, git 处理重命名 反正。是的,确实如此。这里不需要任何 IDE 支持(不确定 mercurial)。所以 git MSVS 支持只缺乏良好的上下文、一键操作和适当的树状态支持(还有一条黄线,但可以说它非常好,但目前不是必须的)。

    最佳答案

    我发现 Git 的 VS 集成毫无意义。
    您需要与 Git 交互的唯一时间是当您想要暂存、提交和推送到远程存储库时。

    这是在您完成编码并且代码编译并通过测试等时完成的......
    正是在这一点上,我通过命令行或 TortiseGit 使用 git。

    我喜欢 Git 的工作流程,它允许我在不知道源代码控制的情况下工作,并且仅在我需要共享我的工作或在安全点提交时才发挥作用。

    我们已经在我的公司使用 Git 和 TortiseGit 几个月了,即使是 VisualSVN 用户也不会错过它。

    关于visual-studio - 分布式源代码管理不适用于 Visual Studio 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3822172/

    相关文章:

    sql-server - Visual Studio 中的正则表达式查找和替换 - 搜索词之间有多个空格

    c++ - 需要干净地替换对 std::copy 可能不安全的调用

    svn - 您将什么部署到客户端 SVN 分支或标签

    git - 如何修改特定提交?

    Git:如何从单个 .git 文件夹恢复存储库

    visual-studio - 无法加载项目文件。缺少根元素

    visual-studio - Visual Studio 2022 项目依赖项 NuGetPackages 不会加载

    svn - Jenkins - 将更新的修订版传递给下游作业

    svn - 请向我解释Subversion

    git add --patch with difftool