为什么可以';我不能使用git日志--后跟--完全差异吗?

为什么可以';我不能使用git日志--后跟--完全差异吗?,git,git-diff,git-log,Git,Git Diff,Git Log,git日志--follow显示一个文件的git日志 我想查看此日志以及此文件中的所有更改(差异)。我尝试: git log --full-diff --follow <myfile> 为什么??我怎样才能得到我想要的差别 或者,它是git中的一个bug吗?您可以这样得到它: git diff <file_path_relative_to_project_root> git-diff 编辑: 说明: 花了一段时间才明白这一点。无论何时 git log-p用于显示文件被

git日志--follow
显示一个文件的
git日志

我想查看此日志以及此文件中的所有更改(差异)。我尝试:

git log --full-diff --follow <myfile>
为什么??我怎样才能得到我想要的差别


或者,它是git中的一个bug吗?

您可以这样得到它:

git diff <file_path_relative_to_project_root>
git-diff
编辑:

说明: 花了一段时间才明白这一点。无论何时
git log-p
用于显示文件被触碰的提交位置,以及同一文件的差异。这意味着,如果要查看文件的完整历史记录,可以添加--follow选项并查看完整历史记录

但当您输入此命令时:
git log——完整的diff-p文件
,它向您显示所有涉及此文件的提交,现在它不仅显示指定文件的diff,还显示了涉及提交的所有文件的diff。这意味着它将为您提供多个文件的结果

如果您尝试此命令:
git log help
您将看到,--follow选项只能用于单个文件,因此 您可以使用如下命令:
git log——follow-p文件
,因为它只显示单个文件的结果

但不能与以下命令一起使用:
git log--full diff--follow-p文件
,因为它显示多个文件的结果,此查询将导致错误。

TL;Sahil回答的DR版本:

在git日志中,
--full diff
不适用于
--follow
,因为,
--follow
只适用于一个文件


解决方案:使用git log--follow-p

否。git diff只能显示文件的两种状态之间的更改(默认情况下:来自repo头的文件和来自磁盘的文件),但不能显示完整的历史记录。您会找到答案,即git log--follow-p--fileThank,这很有效!所以你回答了我的第二个问题:)关于“为什么”的解释如何?请找到上面的答案,我已经为“为什么”部分编辑了它。如果你有任何疑问,请告诉我。
git diff <file_path_relative_to_project_root>