有没有办法通过VS IDE将我的未提交的源与git中的任意历史项进行比较?

时间:2017-12-01 16:25:02

标签: git visual-studio visual-studio-2017

通过我们的工作流程,这是对gitflow的轻微修改,我们将拥有一个具有我们功能的本地分支。然后我们在该分支上执行我们的功能/修复,将其推送到服务器,检查它,然后将其合并到主干。

在工作期间,我想看看我从分支机构的起点做了哪些改变。但是,如果我进行一些更改,我就再也看不到自己的变化了。很高兴从分支点看到更改以确保我的所有更改都有效,但我只能通过Compare with Unmodified...查看对上次提交的更改。

作为一种解决方法,我原本以为我至少可以查看文件的历史记录,并通过上下文菜单查看从当前文件到其中一个列表的更改,但该选项不是'也可以。您只能与2个现有提交进行比较。

似乎我只能从命令行看到从HEAD到历史记录中任意点的更改。我是否遗漏了一些深奥的方式来查看历史中任意点的未提交代码?或者此功能不存在?

修改

与其他人交谈,并对这个问题给出了唯一的答复,看来目前还不可能。

在这种情况下,我创建了一个用户声音项目here,以便将此功能添加到Visual Studio中,并且我要求其他人购买它以便他们在下一个版本中考虑它。 / p>

由于

1 个答案:

答案 0 :(得分:0)

让我们从控制台走向IDE

控制台

当然,你可以在控制台中做很多事情:

  • 将工作树(当前代码状态)与历史记录中的任意点进行比较:git diff COMMIT_HASH
  • 寻找最近的共同祖先:git merge-base feature_branch parent_branch
  • 合并:git diff $(git merge-base feature_branch parent_branch)

差异工具

您可以配置首选difftool,因此在控制台中启动git difftool $(git merge-base feature_branch parent_branch)将显示指定图形应用中每个文件的更改。我没有习惯它,所以没有详细说明,但网上有很多信息。

Git界面应用程序

许多图形应用程序几乎完全包含控制台命令,包括你的情况。我喜欢控制台,但更喜欢在GUI中进行代码差异/合并。我通过右键单击项目文件夹并选择TortoiseGit>来完全使用免费和开源TortoiseGit。与先前版本差异。比较基数可以通过哈希直接设置或通过从日志列表中选择条目来设置,工作副本用特殊的" 00000000"表示。哈希值。在一个地方拥有所有已更改文件的列表非常方便,为任何选定文件打开diff允许动态修改它。你想要的一切除了IDE自动完成。

MSVS

将所有东西放在一个地方是一个梦想,但恕我直言,即使是最新的视觉工作室也提供非常有限的git命令支持。这种情况发生的原因很好:git非常全面,因此即使是完全致力于包装git命令的应用也无法完全和一致地完成。 Visual Studio允许执行基本的日常任务,但任何更具体的查询都超出了它的范围。