Git工具显示不同的历史

时间:2016-04-20 13:44:10

标签: git git-bash tortoisegit tfs2015

我们试图了解为什么在查看文件的历史记录/日志时会得到不同的结果,具体取决于我们使用的工具。 回购在TFS Git。 我们可以使用GitBash或Visual Studio 2015克隆它,我们得到相同的不同结果 给定一个特定的文件 使用GitBash:

git log <filename>

什么都不返回。

update - 我发现这是因为没有指定文件的整个路径。我只使用文件名。我仍然不知道为什么没有显示TFS中的最新更新

使用TFS Web界面历史记录显示9个更改,包括1个还原。 使用TortoiseGit Show日志返回4个提交。它不显示最近的提交。但是,如果我选择&#34;显示整个项目&#34;我可以找到最新的提交。

有人可以解释这些操作实际执行的不同以及结果会有何不同?

2 个答案:

答案 0 :(得分:1)

右键单击文件并显示日志,TortoiseGit仅显示该文件的日志。因此,该文件仅在这4次提交中发生了变化。

当检查“日志消息”对话框的“显示整个项目”时,它会显示整个项目的历史记录。因此,您可以看到所有提交,包括与该文件无关的提交。

关于TFS,对不起,不知道!希望上面的信息可以帮助你。

答案 1 :(得分:0)

我想我明白发生了什么。

git log --all <path> 

显示了需要应用的更改,以使文件达到当前状态。

为了发现当文件不合适时谁对文件做了什么。然而

git log --full-history <path>

将为您提供包括每次合并在内的每一项更改。

从TFS网站看到的TFS Git似乎显示了删除合并提交的历史版本,但似乎还包括比常规Git更多的提交。它似乎还包括恢复和正在恢复的提交。

有用的是TFS Git中的--full-history选项。