在VS2015 TFS Git源代码控制中,比较当前文件与历史版本。

22

当我查看文件历史记录时,我可以通过选择两个版本并执行“比较”来将该版本与历史记录中列出的另一个版本进行比较,或者我可以选择“与上一个版本比较”来比较历史版本及其相对于其上一个版本的更改。

然而,我找不到一条命令,让我能够比较历史版本列表中的历史版本和当前正在编辑的磁盘版本。有人知道这个命令叫什么吗?我想将它挂接到上下文菜单中。

这是TFSVC的最佳特性之一,我希望它深藏在VS2015的GIT支持中。

编辑:由于没有官方解决方案:我已经创建了一个用户声音项目,如@Patrick-MSFT所建议的 Allow "Compare working copy to historical version" version in git-- VS Developer Community


由于UserVoice现已关闭,我已在Developer Community网站上重新输入了此建议。https://developercommunity.visualstudio.com/idea/370956/allow-compare-working-copy-to-historical-version-v.html - Swythan
6个回答

16

由于UserVoice现已关闭,我已在Developer Community网站上重新输入了此建议。https://developercommunity.visualstudio.com/idea/370956/allow-compare-working-copy-to-historical-version-v.html - Swythan
好知道它不被支持!解决方案是使用更好的软件进行文件比较。 - JERKER

3

仍然没有在VS2019中提供支持!:(

使用Notepad++和Compare插件。打开需要比较的文件版本,将第一个版本选择为“比较的第一个版本”,然后选择第二个版本并选择“比较”。这样就能得到差异!

你还可以获得行内的更改,这比VS支持的比较要好得多...


谢谢您的回答。我希望这对某人有所帮助,因为我已经有5年的经验了。 - Preet Sangha

0

在 Visual Studio 中执行差异操作,可以使用命令窗口Tools.DiffFiles

  1. 通过查看 > 其他窗口 > 命令窗口打开命令窗口
  2. 在 Visual Studio 的命令窗口中键入 Tools.DiffFiles
  3. 使用“复制完整路径”通过打开文件选项卡的上下文菜单,复制原始文件的完整路径,例如:c:\original.cs
  4. 将完整路径粘贴到命令窗口中,例如:Tools.DiffFiles c:\original.cs
  5. 在Visual Studio的查看历史记录中,选择历史文件并打开上下文菜单以选择打开,例如:c:\historical.cs
  6. 使用“复制完整路径”通过打开文件选项卡的上下文菜单,复制历史文件的完整路径,例如:c:\historical.cs
  7. 将完整路径粘贴到命令窗口中,例如:Tools.DiffFiles c:\original.cs c:\historical.cs

你怎么获取这两个文件呢?关键是我可以在旧版本提交时克隆存储库并比较文件。问题是如何在Visual Studio Git浏览器窗口中进行差异比较,这是其他Git工具中可用的功能。 - Preet Sangha
以上工作流程都是在Visual Studio中完成的。 "诀窍"是从从Visual Studio的git View History窗口打开的文件中获取历史文件路径。 - Brett

-1
将历史版本的代码复制到当前版本(确保当前版本已提交),然后使用“与未修改版本比较”...

-1

有一个解决方法

但是请先阅读此评论,因为它告诉您问题的正确答案:https://dev59.com/elsX5IYBdhLWcg3wNdDj#34127749

解决方法:

  • 下载 Visual Studio Comparison Tools (它实现了“与剪贴板比较”功能)
  • 打开要进行比较的文件的查看历史记录
  • 滚动到历史提交并打开
  • 复制历史代码
  • 返回到当前版本的文件
  • 选择所有文本
  • 右键单击并点击与剪贴板比较

-3
除了在UserVoice上投票(我已经做过了),您还可以使用VS 2017中的以下方法: {{link1:Git和Visual Studio 2017第13部分:在VS中比较您的项目}}
转到Team Explorer | Changes | Actions和View History,然后选择最后一个Push和您需要比较的历史提交,并选择“Compare committs..”

对我很有帮助,但不是作者所问的。 - aderesh
如果你在进行比较之前不想提交,更不用说推送了,该怎么办? - Craig

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接