Visual Studio:查看完整的git提交历史记录(包括重命名)

JMa*_*sch 8 git visual-studio visual-studio-2015

我正在使用Visual Studio 2015和Microsoft Git客户端.我在使用工具查看历史记录和注释时遇到了一些问题,因为Visual Studio在查看git历史记录时似乎没有处理文件重命名.这有什么好办法吗?

顺便说一句:我尝试在历史记录查看器中使用"显示完整历史记录"工具按钮,但它仍然没有显示重命名的历史记录

这是我测试的内容:

  1. 在Visual Studio中,我右键单击该文件并选择"查看历史记录".(它只显示了4次提交)
  2. 在历史窗口中,我点击了"显示完整历史记录" - 仍然是相同的4次提交.
  3. 从git命令行,我运行git log --follow TheFile.cs(它产生了13次提交)
  4. 在Atlassian Source Tree中,我提取了该文件的日志,并检查了"Follow Renamed Files"选项.它提取了与命令行相同的13次提交.

我真正想要的是在Visual Studio中有一个匹配的选项.那可能吗?

Edw*_*son 5

Visual Studio确实会跟踪两次提交之间的历史记录以确定文件是否已重命名。在这里,我将一个文件的原始名称重命名为renamed,同时对内容进行了更改:

文件历史

但是,Git 不会跟踪两次提交之间的更改 - 相反,它会比较提交的快照以确定文件的更改方式。因此,存储库的历史记录中没有重命名信息。相反,这是通过将原始提交中的文件与后续提交中的文件进行比较来计算的。如果它们足够相似,那么 Git 会认为这是重命名。

由于这是一种启发式方法,因此不能保证这将被视为重命名。但是,一般来说,Visual Studio 和 Git for Windows应该在这些事情上达成一致。我很好奇为什么一个人将此报告为重命名而另一个则没有。有两种可能:

  1. 这个文件非常接近相似的边缘——比如说,Git 已经决定两个修订版彼此有 61% 的相似度,因此需要重命名,而 Visual Studio 已经决定这两个修订版只有 59% 相似,因此是不是重命名。
  2. 这里有一些错误,Visual Studio 没有正确计算相似度。如果我不得不猜测,我会猜测存在空格或行尾问题,因为这在 Git 中始终是一个问题。

如果您能够共享此文件的两个修订版,打开连接错误或直接通过电子邮件将它们发送给我将有助于进一步调查。

  • 我有点困惑。据我所知,Visual Studio 2015 附带的 git 插件没有显示文件的完整历史记录。我有一个文件,我尝试查看历史记录,它只显示一个提交,但在命令行“git log --follow THEFILE”显示所有以前的提交。 (2认同)