需求
现需要查看指定项目中的某个文件的 Git
日志。如有 项目代码 jflowable
,需要查看其下文件 D:\z_workspace\jflowable\src\main\java\com\xzbd\jflowable\controller\TestController.java
的日志。
分析
一般的思路是,进入 jflowable
项目,然后使用命令 git log <file-path>
。如
cd a/b/s/jflowable && git log <file-path>
上述命令在 Linux 操作系统,或使用 Git Bash 时是正确的,然而在win
下却不得行。
那么有没有其他解决方案呢 ?
有的,如下
解决方案
在任意位置查看指定文件的 git log
命令如下
git --git-dir=<your-projrct-dir>/.git --work-tree=<your-projrct-dir> log --reverse <file-path>
其中参数
--git-dir
指 .git
所在目录,其值应填绝对路径。
--work-tree
指项目目录,其值应填绝对路径。
--reverse
指将结果倒置。
参数值:
<your-projrct-dir>
是带查看文件所在项目的绝对路径
file-path
是待查看文件的绝对路径
示例
如下是在 D:\z_workspace
下查看 jflowable
项目中 D:\z_workspace\jflowable\src\main\java\com\xzbd\jflowable\controller\TestController.java
日志的命令即结果
总结
在任何位置查看指定项目的指定文件日志使用命令 :git --git-dir=<your-projrct-dir>/.git --work-tree=<your-projrct-dir> log --reverse <file-path>