为什么我不能使用git log

git log --follow <myfile>显示一个文件的git log

我希望在这个文件中看到所有更改(差异)的日志。 我尝试:

git log --full-diff --follow <myfile>

但是这失败了:

fatal: --follow requires exactly one pathspec

为什么? 我怎样才能得到我想要的差异?

或者,也许,这是git中的错误?


你可以这样得到它:

git diff <file_path_relative_to_project_root>

编辑:

解释 :花了一段时间来理解这一点。 每当使用git log -p <file> ,它会显示提交文件的位置,并单独对同一个文件进行比较。 这意味着如果您想要追踪文件的完整历史记录,您可以添加 - 关注选项并查看完整的历史记录。

但是当你输入这个命令时: git log --full-diff -p file ,它显示你所有提交此文件的提交,现在它不仅显示指定文件的diff,还显示所有文件的diff在提交中被触及。 这意味着它给你多个文件的结果。

如果你尝试这个命令: git log help你会看到--follow选项只能用于单个文件,所以你可以使用如下命令: git log --follow -p file因为它只显示结果单个文件。

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


TL; Sahil的DR版本回答:

在git日志中,-- --full-diff--follow ,因为“full”表示“显示所有更改的文件”,而--follow仅适用于一个文件。

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

链接地址: http://www.djcxy.com/p/22679.html

上一篇: Why can't I use git log

下一篇: Get All Revisions for a specific file in gitpython